Pratinjau GeoServer OpenLayers selalu menunjuk ke localhost: 8080

8

Di GeoServer, ketika saya pergi ke Layer Preview/OpenLayers, saya mendapatkan halaman web, tetapi HTML menunjuk ke localhost:8080(bukan jalur relatif) untuk permintaan WMS-nya, jadi saya hanya bisa melihat preview di server itu sendiri.

Apakah ada cara untuk mengubah templat atau format pratinjau OpenLayers, lebih disukai tanpa harus mengkompilasi ulang apa pun?

Memperbarui

Sepertinya pertanyaan saya disalahpahami, jadi saya mungkin tidak jelas. Maaf soal itu.

Jetty memang berjalan di port 8080, tapi itu tidak masalah.

Masalahnya adalah hanya dengan menampilkan pratinjau OpenLayers . JavaScript-nya menunjuk ke layanan WMS di localhost:8080, bahkan ketika Anda mengakses halaman dari komputer lain.

Saya tidak dapat menemukan templat apa pun pada disk (saya berharap menemukan beberapa .xslt atau .ftl di suatu tempat).

Perbarui 2

Saya telah melaporkan ini di pelacak masalah GeoServer: https://jira.codehaus.org/browse/GEOS-4930

Perbarui 3

Pertanyaan ini ditanyakan pada tahun 2012. Saya menyerah untuk mencoba membuatnya bekerja. Setelah saya memutakhirkan ke versi Geoserver yang lebih baru, ini mulai berfungsi.

Wouter van Nifterick
sumber
Kami baru-baru ini mengkonfigurasi OpenGeo Community Suite kami untuk menggunakan port 8081 pada waktu pemasangan. Itu berhasil, tetapi saya tidak yakin bagaimana mengubah contoh yang diinstal.
jvangeld
Versi Geoserver apa yang Anda gunakan?
RK
Hai, saya menjalankan 2.1.2. Saya akan menginstal 2.1.3 pada server penguji untuk melihat apakah ia merusak apa pun yang kami lakukan.
Wouter van Nifterick
Semua tautan codehaus tidak berfungsi. Bisakah mereka diperbarui?
alfonx
Saya kira masalah Anda terkait dengan pengaturan proxy terbalik Anda. Lihat osgeo-org.1560.x6.nabble.com/...
alfonx

Jawaban:

4

Mesin / server aplikasi GeoServer default adalah Jetty. Jika Anda belum beralih ke Tomcat yang lebih kuat, ada prosedur untuk mengubah port:

  • Shutdown Jetty server menjalankan $ GEOSERVER / bin / shutdown.sh atau $ GEOSERVER / bin / shutdown.bat
  • Buka file $ GEOSERVER / etc / jetty.xml
  • Cari jalur 8080 dan ubah port default.
  • Mulai Jetty

Ini sumber saya untuk prosedur ini.

Sunting: Jawaban saya di luar topik, jadi ini yang lain.

Fungsi pratinjau GeoServer, menggunakan OpenLayers, hanyalah fungsi pratinjau, bukan aplikasi OpenLayers berfitur lengkap.

Jika Anda ingin menggunakan pratinjau dari mesin klien yang jauh, Anda harus masuk ke administrasi GeoServer dan kemudian pergi untuk melihat pratinjau. Cukup ganti "locahost" dengan alamat IP atau nama DNS mesin server. Jika itu tidak berhasil, instalasi GeoServer Anda bisa rusak, berikan detail tentang konteks instalasi (OS, versi).

Jika Anda ingin menggunakan layanan web Anda dari mesin klien yang jauh, Anda harus membangun aplikasi OpenLayers dengan lapisan WMS / WFS yang terhubung ke umpan data GeoServer Anda. Lihat contoh di OpenLayers doc.

Laurent Jégou
sumber
Terima kasih, itu informasi yang berguna jika saya ingin mengubah port. Jika saya mengubah port, preview OpenLayers masih akan menunjuk ke localhost sekalipun ..
Wouter van Nifterick
Oups ya maaf, saya mengabaikan itu! Saya akan mencoba menjawab dengan lebih tepat :)
Laurent Jégou
Lapisan-lapisan tersebut terintegrasi dalam beberapa sistem (jarak jauh) (aplikasi desktop delphi dan halaman web dengan pembuka). Itu semua bekerja dengan baik. Sungguh, saya hanya ingin memodifikasi template pratinjau openlayers sehingga tidak tertaut ke localhost. Dalam kasus saya, menggunakan / sebagai root alih-alih nama host akan baik-baik saja. Saya mulai menyadari bahwa "templat" dikompilasi ke dalam geoserver, dan tidak ada cara untuk menimpanya. Kekecewaan. Saya agak kagum bahwa tidak ada yang merasa terganggu dengan harus memodifikasi pratinjau html untuk membuatnya berfungsi, atau harus menjalankan browser di server web.
Wouter van Nifterick
1

Ini adalah pratinjau - itu hanya seharusnya menunjukkan lapisan pada mesin Anda.

Jika Anda ingin menampilkan lapisan dari server lain, maka Anda perlu menyalin pratinjau HTML ke file lain (pop dalam data / www / jika Anda ingin menggunakan GeoServer jetty) kemudian edit variabel layer dalam file untuk menunjuk ke yang lain server. Lihat Pelajaran 8 dari kursus pemetaan web saya untuk lebih jelasnya.

Perhatikan bahwa tanpa permintaan getFeatureInfo proksi tidak akan berfungsi.

Ian Turton
sumber
Memang, "preview" seharusnya menunjukkan layer. Masalahnya adalah tidak, karena menunjuk ke localhost, dan dari sudut pandang mesin "saya", itu bukan tempat GeoServer berjalan. Btw, sistem produksi mengakses GeoServer melalui proxy; semua itu bekerja. Saya mengerti bahwa saya dapat memperbaiki HTML yang rusak jika saya membuat salinan, tetapi saya sedang mencari cara untuk mengubah template. Saya menambahkan layer setiap saat, jadi ini adalah pita besar yang saya hanya dapat dengan mudah memeriksa layer baru melalui pratinjau ketika saya terhubung dari browser di server. Saya tidak selalu memiliki jenis akses ke server.
Wouter van Nifterick
1
maaf saya salah paham pertanyaan anda. Cukup buka halaman pengaturan global dan atur URL Proxy Base untuk menunjuk ke mesin nyata
Ian Turton
URL Proxy Base menunjuk ke mesin yang sebenarnya. Ini memiliki alamat yang dapat dijangkau dari "luar". Jika pratinjau akan menggunakan alamat ini, itu akan berfungsi. Namun, itu bersikeras menggunakan localhost: 8080.
Wouter van Nifterick
Saya cukup yakin itu saja yang saya lakukan pada mesin saya (lihat ian01.geog.psu.edu/geoserver/… untuk contoh) periksa ian01.geog.psu.edu/geoserver_docs/index.htmluntuk mengatur detail.
Ian Turton
Hei, senang melihat itu mungkin harus terjadi. Terimakasih sudah memposting tautan itu! Pratinjau Anda benar-benar berfungsi. Saya memiliki URL Proxy Base yang sudah diatur, tetapi tidak berfungsi. Salah satu pengembang utama Geoserver mengonfirmasi bahwa URL Proxy Base tidak digunakan. Tapi apa yang digunakan sebagai gantinya? Saya akan mengunduh kode sumber untuk mencoba mencari tahu bagaimana URL dihasilkan. Frustasi ... :)
Wouter van Nifterick
0

Sepertinya masalahnya ada pada konfigurasi Anda.

Coba buka pengaturan global (di menu pengaturan di sebelah kiri di UI) dan konfigurasikan URL dasar Anda (mis. Http://mydomain.com/geoserver/ )

tom
sumber