La vista previa de GeoServer OpenLayers siempre apunta a localhost: 8080

8

En GeoServer, cuando voy Layer Preview/OpenLayers, obtengo una página web, pero el HTML apunta localhost:8080(en lugar de una ruta relativa) para sus solicitudes WMS, por lo que solo puedo ver vistas previas en el servidor.

¿Hay alguna forma de cambiar la plantilla o el formato de la vista previa de OpenLayers, preferiblemente sin tener que volver a compilar nada?

Actualizar

Parece que mi pregunta está siendo mal entendida, por lo que probablemente no estaba claro. Lo siento por eso.

Jetty de hecho corre en el puerto 8080, pero está bien.

El problema es que solo muestra la vista previa de OpenLayers . Su JavaScript apunta al servicio WMS en localhost:8080, incluso cuando accede a la página desde otra máquina.

No puedo encontrar ninguna plantilla en el disco (esperaba encontrar algo de .xslt o .ftl en alguna parte).

Actualización 2

He informado esto en el rastreador de problemas de GeoServer: https://jira.codehaus.org/browse/GEOS-4930

Actualización 3

Esta pregunta se hizo en 2012. Dejé de intentar hacer que esto funcionara. Después de actualizar a una versión más nueva de Geoserver, esto comenzó a funcionar.

Wouter van Nifterick
fuente
Recientemente configuramos nuestra OpenGeo Community Suite para usar el puerto 8081 en el momento de la instalación. Eso fue exitoso, pero no estoy seguro de cómo cambiar una instancia instalada.
jvangeld
¿Qué versión de Geoserver estás usando?
RK
Hola, estoy ejecutando 2.1.2. Estoy a punto de instalar 2.1.3 en un servidor de prueba para ver si rompe algo de lo que hacemos.
Wouter van Nifterick
Todos los enlaces codehaus están caídos. ¿Se pueden actualizar?
alfonx
Supongo que su problema está relacionado con su configuración de proxy inverso. Ver osgeo-org.1560.x6.nabble.com/…
alfonx

Respuestas:

4

El motor / servidor predeterminado de la aplicación GeoServer es Jetty. En caso de que no haya cambiado al Tomcat más potente, existe el procedimiento para cambiar el puerto:

  • El servidor Shutty Jetty ejecuta $ GEOSERVER / bin / shutdown.sh o $ GEOSERVER / bin / shutdown.bat
  • Abra el archivo $ GEOSERVER / etc / jetty.xml
  • Busque la línea 8080 y cambie el puerto predeterminado.
  • Iniciar embarcadero

Aquí está mi fuente para este procedimiento.

Editar: Mi respuesta estaba fuera de tema, así que aquí hay otra.

La función de vista previa de GeoServer, usando OpenLayers, es solo una función de vista previa, no una aplicación OpenLayers con todas las funciones.

Si desea utilizar la vista previa desde máquinas cliente distantes, debe iniciar sesión en la administración de GeoServer y luego ir a la vista previa. Simplemente reemplace "locahost" con la dirección IP o el nombre DNS de la máquina del servidor. Si eso no funciona, su instalación de GeoServer podría interrumpirse, proporcione detalles sobre el contexto de instalación (SO, versiones).

Si desea consumir sus servicios web desde máquinas cliente distantes, debe crear una aplicación OpenLayers con capas WMS / WFS conectadas a sus fuentes de datos GeoServer. Vea los ejemplos en el documento OpenLayers.

Laurent Jégou
fuente
Gracias, esa es información útil si alguna vez quiero cambiar el puerto. Sin embargo, si cambiara el puerto, las vistas previas de OpenLayers seguirán apuntando a localhost ...
Wouter van Nifterick
Oups sí lo siento, pasé por alto eso! Trataré de responder más apropiadamente :)
Laurent Jégou
Las capas están integradas en varios sistemas (remotos) (aplicaciones de escritorio delphi y páginas web con capas abiertas). Todo eso funciona bien. Realmente, solo quiero modificar la plantilla de vista previa de capas abiertas para que no se vincule a localhost. En mi caso, usar / como raíz en lugar de un nombre de host estaría bien. Estoy empezando a darme cuenta de que la "plantilla" está compilada en geoservidor, y no hay forma de anular esto. Gorrón. Estoy un poco sorprendido de que a nadie parezca molestarle tener que modificar el html de vista previa para que funcione, o tener que ejecutar un navegador en el servidor web.
Wouter van Nifterick
1

Es una vista previa : solo se supone que muestra capas en su máquina.

Si desea mostrar capas de otros servidores, debe copiar el HTML de vista previa a otro archivo (póngalo en datos / www / si desea usar el embarcadero GeoServer) y luego edite la variable de capa en el archivo para que apunte al otro servidor. Vea la Lección 8 de mi curso de mapeo web para más detalles.

Tenga en cuenta que sin un proxy, las solicitudes getFeatureInfo no funcionarán.

Ian Turton
fuente
De hecho, se supone que "vista previa" muestra una capa. El problema es que no lo hace, porque apunta a localhost, y desde el punto de vista de "mi" máquina, no es donde se ejecuta GeoServer. Por cierto, el sistema de producción accede a GeoServer a través de un proxy; Todo eso está funcionando. Entiendo que puedo arreglar el HTML roto si hago una copia, pero estoy buscando una manera de cambiar la plantilla. Agrego capas todo el tiempo, por lo que es una gran señal que solo puedo inspeccionar fácilmente nuevas capas a través de una vista previa cuando me conecto desde un navegador en el servidor. No siempre tengo ese tipo de acceso al servidor.
Wouter van Nifterick
1
lo siento, entendí mal tu pregunta. Simplemente vaya a la página de configuración global y configure la URL de Base Proxy para que apunte a una máquina real
Ian Turton
La URL de base de proxy apunta a la máquina real. Tiene una dirección a la que se puede acceder desde "fuera". Si la vista previa usaría esta dirección, funcionaría. Sin embargo, insiste en usar localhost: 8080.
Wouter van Nifterick
Estoy bastante seguro de que eso es todo lo que hice en mi máquina (consulte ian01.geog.psu.edu/geoserver/… para ver un ejemplo), consulte ian01.geog.psu.edu/geoserver_docs/index.html para obtener detalles de configuración.
Ian Turton
Oye, es bueno ver que -debe- ser posible. Gracias por publicar ese enlace! Sus avances funcionan de hecho. Sin embargo, tengo configurada la URL de base de proxy, pero no funciona. Uno de los principales desarrolladores de Geoserver confirmó que la URL de Proxy Base no se usa. Pero entonces, ¿qué se usa? Descargaré el código fuente para intentar descubrir cómo se generan las URL. Frustrante ... :)
Wouter van Nifterick
0

Parece que el problema radica en su configuración.

Intente ir a la configuración global (en el menú de configuración a la izquierda en la interfaz de usuario) y configurar su URL base (por ejemplo, http://midominio.com/geoserver/ )

tom
fuente