Die Vorschau von GeoServer OpenLayers zeigt immer auf localhost: 8080

8

Wenn ich in GeoServer zu gehe Layer Preview/OpenLayers, erhalte ich eine Webseite, aber der HTML-Code zeigt auf localhost:8080(anstelle eines relativen Pfads) für die WMS-Anforderungen, sodass ich nur Vorschauen auf dem Server selbst sehen kann.

Gibt es eine Möglichkeit, die Vorlage oder das Format der OpenLayers-Vorschau zu ändern, vorzugsweise ohne etwas neu kompilieren zu müssen?

Aktualisieren

Es sieht so aus, als würde meine Frage missverstanden, daher war mir wahrscheinlich nicht klar. Das tut mir leid.

Jetty läuft zwar an Port 8080, aber das ist in Ordnung.

Das Problem ist, dass nur die OpenLayers-Vorschau angezeigt wird . Das JavaScript verweist auf den WMS-Dienst unter localhost:8080, auch wenn Sie von einem anderen Computer aus auf die Seite zugreifen.

Ich kann keine Vorlage auf der Festplatte finden (ich habe erwartet, irgendwo .xslt oder .ftl zu finden).

Update 2

Ich habe dies im GeoServer Issue Tracker gemeldet: https://jira.codehaus.org/browse/GEOS-4930

Update 3

Diese Frage wurde 2012 gestellt. Ich habe es aufgegeben, dies zum Laufen zu bringen. Nachdem ich auf eine neuere Version von Geoserver aktualisiert habe, hat dies funktioniert.

Wouter van Nifterick
quelle
Wir haben kürzlich unsere OpenGeo Community Suite so konfiguriert, dass sie zur Installationszeit Port 8081 verwendet. Das war erfolgreich, aber ich bin nicht sicher, wie ich eine installierte Instanz ändern soll.
Jvangeld
Welche Version von Geoserver verwenden Sie?
RK
Hallo, ich laufe 2.1.2. Ich bin dabei, 2.1.3 auf einem Testserver zu installieren, um zu sehen, ob etwas kaputt geht, was wir tun.
Wouter van Nifterick
Alle Codehaus-Links sind ausgefallen. Können sie aktualisiert werden?
Alfonx
Ich denke, Ihr Problem hängt mit Ihren Reverse-Proxy-Einstellungen zusammen. Siehe osgeo-org.1560.x6.nabble.com/…
alfonx

Antworten:

4

Die Standard-GeoServer-App-Engine / der Standard-GeoServer-App-Server ist Jetty. Falls Sie nicht auf den leistungsstärkeren Tomcat umgestellt haben, können Sie den Port wie folgt ändern:

  • Shutdown Jetty Server mit $ GEOSERVER / bin / shutdown.sh oder $ GEOSERVER / bin / shutdown.bat
  • Öffnen Sie die Datei $ GEOSERVER / etc / jetty.xml
  • Suchen Sie in Zeile 8080 und ändern Sie den Standardport.
  • Starten Sie Jetty

Hier ist meine Quelle für dieses Verfahren.

Bearbeiten: Meine Antwort war nicht zum Thema, also hier ist eine andere.

Die Vorschaufunktion von GeoServer unter Verwendung von OpenLayers ist nur eine Vorschaufunktion, keine OpenLayers-Anwendung mit vollem Funktionsumfang.

Wenn Sie die Vorschau von entfernten Clientcomputern verwenden möchten, müssen Sie sich bei der GeoServer-Administration anmelden und dann zur Vorschau wechseln. Ersetzen Sie einfach "locahost" durch die IP-Adresse oder den DNS-Namen des Server-Computers. Wenn dies nicht funktioniert, ist Ihre GeoServer-Installation möglicherweise fehlerhaft. Geben Sie Details zum Installationskontext (Betriebssystem, Versionen) an.

Wenn Sie Ihre Webservices von entfernten Clientcomputern nutzen möchten, sollten Sie eine OpenLayers-Anwendung mit WMS / WFS-Layern erstellen, die mit Ihren GeoServer-Datenfeeds verbunden sind. Siehe die Beispiele im OpenLayers-Dokument.

Laurent Jégou
quelle
Danke, das sind nützliche Informationen, wenn ich jemals den Port ändern möchte. Wenn ich den Port ändern würde, würde die Vorschau von OpenLayers immer noch auf localhost verweisen.
Wouter van Nifterick
Oups ja sorry, das habe ich übersehen! Ich werde versuchen, angemessener zu antworten :)
Laurent Jégou
Die Ebenen sind in mehrere (Remote-) Systeme integriert (Delphi-Desktop-Anwendungen und Webseiten mit Openlayern). Das alles funktioniert gut. Wirklich, ich möchte nur die Openlayers-Vorschau-Vorlage so ändern, dass sie nicht mit localhost verknüpft ist. In meinem Fall wäre es in Ordnung, / als Root anstelle eines Hostnamens zu verwenden. Mir wird langsam klar, dass die "Vorlage" in Geoserver kompiliert ist und es keine Möglichkeit gibt, dies zu überschreiben. Schade. Ich bin ein bisschen erstaunt, dass es niemanden zu stören scheint, das Vorschau-HTML ändern zu müssen, damit es funktioniert, oder einen Browser auf dem Webserver ausführen zu müssen.
Wouter van Nifterick
1

Es ist eine Vorschau - es sollen nur Ebenen auf Ihrem Computer angezeigt werden.

Wenn Sie Layer von anderen Servern anzeigen möchten, müssen Sie den Vorschau-HTML-Code in eine andere Datei kopieren (in data / www / einfügen, wenn Sie den GeoServer-Steg verwenden möchten) und dann die Layer-Variable in der Datei bearbeiten, um auf den anderen zu verweisen Server. Weitere Informationen finden Sie in Lektion 8 meines Web-Mapping-Kurses.

Beachten Sie, dass getFeatureInfo-Anforderungen ohne Proxy nicht funktionieren.

Ian Turton
quelle
In der Tat soll "Vorschau" eine Ebene zeigen. Das Problem ist, dass dies nicht der Fall ist, da localhostGeoServer nicht auf "meinen" Computer verweist . Übrigens greift das Produktionssystem über einen Proxy auf GeoServer zu. alles was funktioniert. Ich verstehe, dass ich das fehlerhafte HTML reparieren kann, wenn ich eine Kopie erstelle, aber ich suche nach einer Möglichkeit, die Vorlage zu ändern. Ich füge ständig Ebenen hinzu, daher ist es eine große Pita, dass ich neue Ebenen nur dann einfach über eine Vorschau überprüfen kann, wenn ich über einen Browser auf dem Server eine Verbindung herstelle. Ich habe nicht immer diese Art von Zugriff auf den Server.
Wouter van Nifterick
1
Entschuldigung, ich habe Ihre Frage falsch verstanden. Gehen Sie einfach zur Seite mit den globalen Einstellungen und stellen Sie die Proxy-Basis-URL so ein, dass sie auf eine echte Maschine
verweist
Die Proxy-Basis-URL verweist auf den realen Computer. Es hat eine Adresse, die von "außen" erreichbar ist. Wenn die Vorschau diese Adresse verwenden würde, würde es funktionieren. Es besteht jedoch darauf, localhost: 8080 zu verwenden.
Wouter van Nifterick
Ich bin mir ziemlich sicher , das ist alles , was ich auf meinem Rechner habe (siehe ian01.geog.psu.edu/geoserver/... Scheck für ein Beispiel) ian01.geog.psu.edu/geoserver_docs/index.htmlfor einrichten Details.
Ian Turton
Hey, es ist schön zu sehen, dass es möglich sein sollte. Danke, dass du diesen Link gepostet hast! Ihre Vorschauen funktionieren in der Tat. Ich habe zwar die Proxy-Basis-URL eingerichtet, aber sie funktioniert nicht. Einer der Hauptentwickler von Geoserver bestätigte, dass die Proxy-Basis-URL nicht verwendet wird. Aber was wird dann stattdessen verwendet? Ich werde den Quellcode herunterladen, um herauszufinden, wie die URLs generiert werden. Frustrierend ... :)
Wouter van Nifterick
0

Es klingt so, als ob das Problem in Ihrer Konfiguration liegt.

Gehen Sie zu den globalen Einstellungen (im Einstellungsmenü links in der Benutzeroberfläche) und konfigurieren Sie Ihre Basis-URL (z. B. http://mydomain.com/geoserver/ ).

Tom
quelle