A visualização GeoServer OpenLayers sempre aponta para localhost: 8080

8

No GeoServer, quando vou Layer Preview/OpenLayers, recebo uma página da Web, mas o HTML aponta para localhost:8080(em vez de um caminho relativo) para suas solicitações WMS, para que eu possa ver apenas visualizações no próprio servidor.

Existe uma maneira de alterar o modelo ou o formato da visualização do OpenLayers, de preferência sem precisar recompilar nada?

Atualizar

Parece que minha pergunta está sendo mal compreendida, então provavelmente não estava claro. Me desculpe por isso.

O Jetty realmente funciona na porta 8080, mas tudo bem.

O problema é que apenas mostra a visualização do OpenLayers . Seu JavaScript aponta para o serviço WMS em localhost:8080, mesmo quando você acessa a página de outra máquina.

Não consigo encontrar nenhum modelo no disco (esperava encontrar algum .xslt ou .ftl em algum lugar).

Atualização 2

Eu relatei isso no rastreador de problemas do GeoServer: https://jira.codehaus.org/browse/GEOS-4930

Atualização 3

Esta pergunta foi feita em 2012. Desisti de tentar fazer isso funcionar. Depois de atualizar para uma versão mais recente do Geoserver, isso começou a funcionar.

Wouter van Nifterick
fonte
Recentemente, configuramos nosso OpenGeo Community Suite para usar a porta 8081 no momento da instalação. Isso foi bem-sucedido, mas não sei como alterar uma instância instalada.
Jvangeld
Qual versão do Geoserver você está usando?
RK
Oi, estou executando o 2.1.2. Estou prestes a instalar o 2.1.3 em um servidor de testes para ver se ele quebra alguma coisa que fazemos.
Wouter van Nifterick
Todos os links do codehaus estão inoperantes. Eles podem ser atualizados?
Alfonx #
Eu acho que seu problema está relacionado às suas configurações de proxy reverso. Veja osgeo-org.1560.x6.nabble.com/…
alfonx

Respostas:

4

O mecanismo / servidor padrão do aplicativo GeoServer é o Jetty. Caso você não tenha mudado para o Tomcat mais poderoso, existe o procedimento para alterar a porta:

  • Servidor Shutdown Jetty executando $ GEOSERVER / bin / shutdown.sh ou $ GEOSERVER / bin / shutdown.bat
  • Abrir arquivo $ GEOSERVER / etc / jetty.xml
  • Procure a linha 8080 e altere a porta padrão.
  • Start Jetty

Aqui está minha fonte para este procedimento.

Edit: Minha resposta estava fora de tópico, então aqui está outra.

A função de visualização do GeoServer, usando o OpenLayers, é apenas uma função de visualização, não um aplicativo OpenLayers completo.

Se você quiser usar a visualização de máquinas clientes distantes, deverá fazer login na administração do GeoServer e, em seguida, visualizar. Apenas substitua "locahost" pelo endereço IP ou nome DNS da máquina do servidor. Se isso não funcionar, sua instalação do GeoServer pode estar com problemas, forneça detalhes sobre o contexto da instalação (SO, versões).

Se você deseja consumir seus serviços da Web de máquinas clientes distantes, deve criar um aplicativo OpenLayers com camadas WMS / WFS conectadas aos seus feeds de dados do GeoServer. Veja os exemplos no documento OpenLayers.

Laurent Jégou
fonte
Obrigado, essas informações são úteis se eu quiser alterar a porta. Se eu alterar a porta, as visualizações do OpenLayers ainda
apontarão
Oups sim desculpe, eu esqueci isso! Vou tentar responder mais adequadamente :)
Laurent Jégou
As camadas são integradas em vários sistemas (remotos) (aplicativos de desktop delphi e páginas da web com openlayers). Isso tudo funciona bem. Realmente, eu só quero modificar o modelo de visualização de openlayers para que ele não seja vinculado ao localhost. No meu caso, usar / como raiz em vez de um nome de host seria bom. Estou começando a perceber que o "modelo" é compilado no servidor geográfico, e não há como substituir isso. Vadio. Estou um pouco surpreso por ninguém parecer incomodado por ter que modificar o html de visualização para fazê-lo funcionar ou ter que executar um navegador no servidor da web.
Wouter van Nifterick
1

É uma pré - visualização - apenas deve mostrar as camadas na sua máquina.

Se você deseja exibir camadas de outros servidores, copie o HTML de visualização para outro arquivo (insira-o em data / www / se desejar usar o cais GeoServer) e edite a variável de camada no arquivo para apontar para o outro servidor. Consulte a lição 8 do meu curso de mapeamento da web para obter mais detalhes.

Observe que, sem um proxy, as solicitações getFeatureInfo não funcionarão.

Ian Turton
fonte
De fato, "preview" deve mostrar uma camada. O problema é que não, porque aponta para localhost, e do ponto de vista da "minha" máquina, não é aí que o GeoServer é executado. Aliás, o sistema de produção acessa o GeoServer por meio de um proxy; tudo o que está funcionando. Entendo que posso corrigir o HTML quebrado se fizer uma cópia, mas estou procurando uma maneira de alterar o modelo. Eu adiciono camadas o tempo todo, por isso é uma pena que eu só possa inspecionar novas camadas com facilidade por meio de uma visualização quando me conectar a partir de um navegador no servidor. Nem sempre tenho esse tipo de acesso ao servidor.
Wouter van Nifterick
1
desculpe, eu não entendi sua pergunta. Simplesmente vá para a página de configurações globais e defina o URL da Base Proxy para apontar para uma máquina real
Ian Turton
O URL da base de proxy aponta para a máquina real. Tem um endereço acessível de "fora". Se a visualização usasse esse endereço, funcionaria. No entanto, ele insiste em usar localhost: 8080.
Wouter van Nifterick
Tenho certeza de que foi tudo o que fiz na minha máquina (consulte ian01.geog.psu.edu/geoserver/… para obter um exemplo), verifique ian01.geog.psu.edu/geoserver_docs/index.htmlpara configurar detalhes.
Ian Turton
Ei, é bom ver que isso deve ser possível. Obrigado por postar o link! Suas visualizações funcionam de fato. No entanto, tenho o URL da base de proxy configurado, mas não está funcionando. Um dos principais desenvolvedores do Geoserver confirmou que o URL da Base Proxy não é usado. Mas o que é usado então? Vou baixar o código-fonte para tentar descobrir como os URLs são gerados. Frustrante ... :)
Wouter van Nifterick
0

Parece que o problema está na sua configuração.

Tente acessar as configurações globais (no menu de configurações à esquerda na interface do usuário) e configurar o URL base (por exemplo, http://mydomain.com/geoserver/ )

tom
fonte