Mais

Como fazer proxy do Geoserver através do Apache no Windows

Como fazer proxy do Geoserver através do Apache no Windows


Estou usando o servidor da web apache em localhost: 80 e geoserver servido do servlet jetty em localhost: 8888. eu quero configurar um proxy para redirecionar as solicitações de modo que as solicitações para localhost / geoserver são encaminhados para localhost: 8888 / geoserver

estou seguindo o tutorial de http://gistutor.com/geoserver/21-intermediate-geoserver-tutorials/38-configuring-geoserver-proxy-for-public-and-remote-data-access.html e estou preso no parte onde diz

copie o texto abaixo e clique com o botão direito para colar o ProxyPass em seu arquivo httpd.conf logo acima do  marcação. ProxyRequests Off ProxyPreserveHost On  Negar pedido, permitir Permitir de todos  ProxyPass / geoserver http: // localhost: 8080 / geoserver ProxyPassReverse / geoserver http: // localhost: 8080 / geoserver

Não consigo encontrar onde inserir o texto acima no arquivo httpd.conf. a diretiva de hosts virtuais no arquivo httpd.conf aponta para o arquivo httpd-vhosts.conf que se parece com abaixo

# # Use hospedagem virtual baseada em nome. # ## NameVirtualHost *: 80 # # Exemplo de VirtualHost: # Quase qualquer diretiva Apache pode ir para um contêiner VirtualHost. # A primeira seção VirtualHost é usada para todas as solicitações que não # correspondem a um ServerName ou ServerAlias ​​em qualquer  quadra. # ## ## ServerAdmin [email protected] ## DocumentRoot "C: /xampp/htdocs/dummy-host.localhost" ## ServerName dummy-host.localhost ## ServerAlias ​​www.dummy-host.localhost ## ErrorLog "logs /dummy-host.localhost-error.log "## CustomLog" logs / dummy-host.localhost-access.log "combinado ## ## ## ServerAdmin [email protected] ## DocumentRoot "C: /xampp/htdocs/dummy-host2.localhost" ## ServerName dummy-host2.localhost ## ServerAlias ​​www.dummy-host2.localhost ## ErrorLog "logs /dummy-host2.localhost-error.log "## CustomLog" logs / dummy-host2.localhost-access.log "combinado ##

Tentei e alterei este arquivo httpd-vhosts.conf com os códigos acima, mas sempre que faço isso não consigo reiniciar o servidor apache.

este é o arquivo httpd.conf como em c: xampp apache conf

# # ServerRoot: O topo da árvore de diretórios sob a qual os arquivos de # configuração, erro e log do servidor são mantidos. # # Não adicione uma barra no final do caminho do diretório. Se você apontar # ServerRoot para um disco não local, certifique-se de apontar a diretiva LockFile # para um disco local. Se desejar compartilhar o mesmo ServerRoot para vários daemons # httpd, você precisará alterar pelo menos LockFile e PidFile. # ServerRoot "C: / xampp / apache" # # Listen: Permite vincular o Apache a endereços IP específicos e / ou # portas, em vez do padrão. Veja também o  # diretiva. # # Altere isso para Ouvir em endereços IP específicos, conforme mostrado abaixo, para # evitar que o Apache se aglomere em todos os endereços IP vinculados. # #Listen 0.0.0.0:80 #Listen [::]: 80 Listen 80 # # Suporte a Objeto Compartilhado Dinâmico (DSO) # # Para poder usar a funcionalidade de um módulo que foi construído como um DSO você # tem que colocar as linhas 'LoadModule' correspondentes neste local para que as # diretivas contidas nele estejam realmente disponíveis _antes_ de serem usadas. # Módulos compilados estaticamente (aqueles listados por 'httpd -l') não precisam # ser carregados aqui. # # Exemplo: # LoadModule foo_module modules / mod_foo.so # LoadModule actions_module modules / mod_actions.so LoadModule alias_module modules / mod_alias.so LoadModule asis_module modules / mod_asis.so LoadModule auth_basic_module modulesa mod_auth_basic_module_module_module_module_module_dest_basic.so module_module_dest_module_module_dest_module_dest_module_dest_dest_module_dest_dest_dest_dest_mod_auth_module_dest_dest_modulo_dest_mod_auth_basic. authn_alias_module módulos / mod_authn_alias.so #LoadModule authn_anon_module módulos / mod_authn_anon.so #LoadModule authn_dbd_module módulos / mod_authn_dbd.so #LoadModule authn_dbm_module módulos / mod_authn_dbm.so LoadModule authn_default_module módulos / mod_authn_default.so LoadModule authn_file_module módulos / mod_authn_file.so #LoadModule authnz_ldap_module módulos / mod_authnz_ldap .so #LoadModule authz_dbm_module modules / mod_authz_dbm.so LoadModule authz_default_module modules / mod_authz_default.so LoadModule authz_groupfile_module modules / mod_authz_groupfile.so LoadModule_auth_module_module_module_module_module_module_module_module_module_module_module_module_module_module_module_module_module. Módulo authz_user_module módulos / mod_authz_user.so LoadModule autoindex_module módulos / mod_autoindex.so #LoadModule bucketeer_module módulos / mod_bucketeer.so #LoadModule cache_module módulos / mod_cache.so #LoadModule case_filter_module módulos / mod_case_filter.so #LoadModule case_filter_in_module módulos / mod_case_filter_in.so #LoadModule cern_meta_module módulos /mod_cern_meta.so LoadModule cgi_module modules / mod_cgi.so #LoadModule charset_lite_module modules / mod_charset_lite.so #LoadModule dav_module modules / mod_dav.so #LoadModule dav_fsso_module modules.bdodule_fule_module_module_module_dlock_fule_module_module_module_module_module_module_fule_module_module_module_module_dav_module_module_module_module_dav_dav.module_module_dlock_module_module_dav.module_module_module_module_dav.module_module_module_dav_dav.so_module_module_dav_dav. LoadModule deflate_module módulos / mod_deflate.so LoadModule dir_module módulos / mod_dir.so #LoadModule disk_cache_module módulos / mod_disk_cache.so #LoadModule dumpio_module módulos / mod_dumpio.so #LoadModule echo_module módulos / mod_echo.so LoadModule env_module módulos / mod_env.so #LoadModule example_module módulos / mod_example.so #LoadMo dule expires_module modules / mod_expires.so #LoadModule ext_filter_module modules / mod_ext_filter.so #LoadModule file_cache_module modules / mod_file_cache.so #LoadModule filter_module modules / mod_filter.so LoadModule arquivo_cache_module modules / mod_file_cache.so #LoadModule filter_module modules / mod_filter.so LoadModule_module_module_module_module módulos /mod_imagemap.so LoadModule include_module modules / mod_include.so LoadModule info_module modules / mod_info.so LoadModule isapi_module modules / mod_isapi.so #LoadModule ldap_module modules / mod_ldap.so #LoadModule logModule_module_module_module_module_log modules. log_forensic_module módulos / mod_log_forensic.so #LoadModule mem_cache_module módulos / mod_mem_cache.so LoadModule mime_module módulos / mod_mime.so #LoadModule mime_magic_module módulos / mod_mime_magic.so LoadModule negotiation_module módulos / mod_negotiation.so LoadModule proxy_module módulos / mod_proxy.so LoadModule proxy_ajp_module módulos / mod_proxy_ajp.so#LoadModule proxy_balancer_module módulos / mod_proxy_balancer.so LoadModule proxy_connect_module módulos / mod_proxy_connect.so LoadModule proxy_ftp_module módulos / mod_proxy_ftp.so LoadModule proxy_http_module módulos / mod_proxy_http.so LoadModule rewrite_module módulos / mod_rewrite.so LoadModule setenvif_module módulos / mod_setenvif.so #LoadModule speling_module módulos / mod_speling. assim LoadModule ssl_module módulos / mod_ssl.so LoadModule status_module módulos / mod_status.so #LoadModule substitute_module módulos / mod_substitute.so #LoadModule unique_id_module módulos / mod_unique_id.so #LoadModule userdir_module módulos / mod_userdir.so #LoadModule usertrack_module módulos / mod_usertrack.so #LoadModule version_module modules / mod_version.so #LoadModule vhost_alias_module modules / mod_vhost_alias.so   # # Se você deseja que o httpd seja executado como um usuário ou grupo diferente, você deve executar # httpd como root inicialmente e ele será alternado. # # Usuário / Grupo: O nome (ou # número) do usuário / grupo para executar o httpd. # Normalmente, é uma boa prática criar um usuário e um grupo dedicado para # executar httpd, como acontece com a maioria dos serviços do sistema. # Daemon de usuário daemon de grupo  # Configuração do servidor 'principal' # # As diretivas nesta seção configuram os valores usados ​​pelo servidor 'principal' #, que responde a qualquer solicitação que não seja tratada por um #  definição. Esses valores também fornecem padrões para # qualquer  recipientes que você pode definir posteriormente no arquivo. # # Todas essas diretivas podem aparecer dentro  containers, # caso em que essas configurações padrão serão substituídas pelo # host virtual que está sendo definido. # # # ServerAdmin: Seu endereço, onde problemas com o servidor devem ser # enviados por e-mail. Este endereço aparece em algumas páginas geradas pelo servidor, # como documentos de erro. por exemplo. [email protected] # ServerAdmin postmaster @ localhost # # ServerName fornece o nome e a porta que o servidor usa para se identificar. Isso geralmente pode ser determinado automaticamente, mas recomendamos que você especifique explicitamente para evitar problemas durante a inicialização. # Se o seu host não tiver um nome DNS registrado, insira o endereço IP aqui. # ServerName localhost: 80 # # DocumentRoot: O diretório a partir do qual você servirá seus # documentos. Por padrão, todas as solicitações são obtidas deste diretório, mas # links simbólicos e apelidos podem ser usados ​​para apontar para outros locais. # DocumentRoot "C: / xampp / htdocs" # # Cada diretório ao qual o Apache tem acesso pode ser configurado com respeito # a quais serviços e recursos são permitidos e / ou desabilitados naquele # diretório (e seus subdiretórios). # # Primeiro, configuramos o "padrão" para ser um conjunto muito restritivo de # recursos. #  Opções FollowSymLinks AllowOverride Nenhum Ordem negar, permitir Negar de todos  # # Observe que, a partir deste ponto, você deve permitir especificamente # que recursos específicos sejam ativados - portanto, se algo não estiver funcionando # como o esperado, certifique-se de tê-lo ativado especificamente # abaixo. # # # Isso deve ser alterado para o que você definiu para DocumentRoot. #  # # Os valores possíveis para a diretiva Options são "None", "All", # ou qualquer combinação de: # Indexes Inclui FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Observe que "MultiViews" deve ser nomeado * explicitamente * --- "Options All" # não dá para você. # # A diretiva Options é complicada e importante. Consulte # http://httpd.apache.org/docs/2.2/mod/core.html#options # para obter mais informações. # Opções Índices FollowSymLinks Inclui ExecCGI # # AllowOverride controla quais diretivas podem ser colocadas nos arquivos .htaccess. # Pode ser "All", "None" ou qualquer combinação das palavras-chave: # Options FileInfo AuthConfig Limit # AllowOverride All # # Controla quem pode obter coisas deste servidor. # Pedido permitir, negar Permitir de todos  # # DirectoryIndex: define o arquivo que o Apache servirá se um diretório # for solicitado. #  DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm  default.php default.pl default.cgi default.asp default.shtml default.html default.htm  home.php home. pl home.cgi home.asp home.shtml home.html home.htm  # # As linhas a seguir evitam que arquivos .htaccess e .htpasswd sejam # visualizados por clientes da web. #  Pedido permitir, negar Negar de todos Satisfaça todos  # # ErrorLog: a localização do arquivo de log de erros. # Se você não especificar uma diretiva ErrorLog dentro de um  # container, as mensagens de erro relacionadas a esse host virtual serão # registradas aqui. Se você * definir * um arquivo de log de erro para um  # container, os erros desse host serão registrados lá e não aqui. # ErrorLog "logs / error.log" #ScriptLog "logs / cgi.log" # # LogLevel: Controle o número de mensagens registradas no error_log. # Os valores possíveis incluem: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn  # # As seguintes diretivas definem alguns apelidos de formato para uso com # uma diretiva CustomLog (veja abaixo). # LogFormat "% h% l% u% t "% r  "%> s% b "% {Referer} i  ""% {User-Agent} i  "" LogFormat combinado "% h% l % u% t  "% r "%> s% b "comum  # Você precisa habilitar o mod_logio.c para usar% I e% O LogFormat "% h% l% u% t "% r  "%> s% b "% {Referer} i  ""% {User -Agente} i  "% I% O" combinado  # # A localização e formato do arquivo de log de acesso (Common Logfile Format). # Se você não definir nenhum arquivo de log de acesso dentro de um  # container, eles serão registrados aqui. Ao contrário, se você * fizer * # definir por acessar arquivos de log, as transações serão # registradas e * não * neste arquivo. # #CustomLog "logs / access.log" common # # Se você preferir um arquivo de log com informações de acesso, agente e referenciador # (Formato de arquivo de log combinado), você pode usar a diretiva a seguir. # CustomLog "logs / access.log" combinado   # # Redirecionar: permite informar aos clientes sobre documentos que costumavam # existir no namespace do seu servidor, mas não existem mais. O cliente # fará uma nova solicitação do documento em seu novo local. # Exemplo: # Redirect permanent / foo http: // localhost / bar # # Alias: Mapeia caminhos da web em caminhos de sistema de arquivos e é usado para # acessar conteúdo que não reside no DocumentRoot. # Exemplo: # Alias ​​/ webpath / full / filesystem / path # # Se você incluir um / on / webpath à direita, o servidor # exigirá que ele esteja presente no URL. Você também provavelmente # precisará fornecer um  seção para permitir o acesso ao # caminho do sistema de arquivos. # # ScriptAlias: controla quais diretórios contêm scripts de servidor. # ScriptAliases são essencialmente iguais aos Aliases, exceto que # documentos no diretório de destino são tratados como aplicativos e # executados pelo servidor quando solicitados em vez de como documentos enviados ao # cliente. As mesmas regras sobre "/" à direita se aplicam às diretivas ScriptAlias ​​# e Alias. # ScriptAlias ​​/ cgi-bin / "C: / xampp / cgi-bin /"   # # ScriptSock: Em servidores encadeados, designe o caminho para o soquete # UNIX usado para se comunicar com o daemon CGI de mod_cgid. # #Scriptsock "logs / cgi.sock"  # # "C: / xampp / cgi-bin" deve ser alterado para qualquer que seja o seu diretório ScriptAlias ​​# CGI existente, se você o tiver configurado. #  AllowOverride Nenhum Opções Nenhum Pedido permitir, negar Permitir de todos  # # DefaultType: o tipo MIME padrão que o servidor usará para um documento # se ele não puder determinar um de outra forma, como a partir de extensões de nome de arquivo. # Se o seu servidor contém principalmente texto ou documentos HTML, "text / plain" é # um bom valor. Se a maior parte do seu conteúdo for binário, como aplicativos # ou imagens, você pode usar "application / octet-stream" em vez de # evitar que os navegadores tentem exibir arquivos binários como se fossem # texto. # DefaultType text / plain  # # TypesConfig aponta para o arquivo que contém a lista de mapeamentos da # extensão do nome do arquivo para o tipo MIME. # TypesConfig "conf / mime.types" # # AddType permite adicionar ou substituir o arquivo de configuração # MIME especificado em TypesConfig para tipos de arquivo específicos. # #AddType application / x-gzip .tgz # # AddEncoding permite que certos navegadores # descompactem informações instantaneamente. Nota: Nem todos os navegadores suportam isso. # #AddEncoding x-compress .Z #AddEncoding x-gzip .gz .tgz # # Se as diretivas AddEncoding acima estiverem comentadas, # provavelmente você deve definir essas extensões para indicar os tipos de mídia: # AddType application / x-compress. Z AddType application / x-gzip .gz .tgz # # AddHandler permite que você mapeie certas extensões de arquivo para "manipuladores": # ações não relacionadas ao tipo de arquivo. Eles podem ser incorporados ao servidor # ou adicionados com a diretiva Action (veja abaixo) # # Para usar scripts CGI fora dos diretórios ScriptAlias: # (Você também precisará adicionar "ExecCGI" à diretiva "Options".) # AddHandler cgi-script .cgi .pl .asp .py # Para mapas de tipo (recursos negociados): #AddHandler type-map var # # Filtros permitem que você processe o conteúdo antes de ser enviado ao cliente. # # Para analisar arquivos .shtml para server-side includes (SSI): # (Você também precisará adicionar "Includes" à diretiva "Opções".) # AddType text / html .shtml AddOutputFilter INCLUDES .shtml   # # O módulo mod_mime_magic permite que o servidor use várias dicas do # conteúdo do próprio arquivo para determinar seu tipo. A diretiva MIMEMagicFile # informa ao módulo onde as definições de dica estão localizadas. # MIMEMagicFile "conf / magic"  # # As respostas de erro personalizáveis ​​vêm em três opções: # 1) texto simples 2) redirecionamentos locais 3) redirecionamentos externos # # Alguns exemplos: #ErrorDocument 500 "O servidor fez um boo boo." #ErrorDocument 404 /missing.html #ErrorDocument 404 "/cgi-bin/missing_handler.pl" #ErrorDocument 402 http: //localhost/subscription_info.html # # # EnableMMAP e EnableSendfile: em sistemas que suportam, # memory-mapping ou o sendfile syscall é usado para entregar # arquivos. Isso geralmente melhora o desempenho do servidor, mas deve # ser desligado ao servir a partir de sistemas de arquivos # montados em rede ou se o suporte para essas funções estiver # quebrado em seu sistema. # #EnableMMAP off #EnableSendfile off # Configuração suplementar # # Os arquivos de configuração no diretório conf / extra / podem ser # incluídos para adicionar recursos extras ou modificar a configuração # padrão do servidor, ou você pode simplesmente copiar seu conteúdo aqui e mude conforme # necessário. # Configurações específicas do XAMPP Incluem "conf / extra / httpd-xampp.conf" # Configurações do Perl Incluem "conf / extra / httpd-perl.conf" # Gerenciamento do pool do servidor (específico para MPM) Incluem "conf / extra / httpd-mpm. conf "# Mensagens de erro em vários idiomas Incluem" conf / extra / httpd-multilang-errordoc.conf "# Listagens de diretórios extravagantes Incluem" conf / extra / httpd-autoindex.conf "# Configurações de idioma Incluem" conf / extra / httpd-languages .conf "# Diretórios iniciais do usuário Incluem" conf / extra / httpd-userdir.conf "# Informações em tempo real sobre solicitações e configuração Incluem" conf / extra / httpd-info.conf "# Hosts virtuais Incluem" conf / extra / httpd -vhosts.conf "# Criação e controle de versão distribuídos (WebDAV) # Atenção! WEB_DAV é um risco de segurança sem uma nova configuração específica do usuário para uma autenticação segura # Incluir "conf / extra / httpd-dav.conf" # Implementa um proxy / gateway para o Apache. Incluir "conf / extra / httpd-proxy.conf" # Várias configurações padrão Incluir "conf / extra / httpd-default.conf" # Conexões seguras (SSL / TLS) Incluir "conf / extra / httpd-ssl.conf" # # Nota: O seguinte deve estar presente para suportar # iniciando sem SSL em plataformas sem / dev / random equivalente # mas um mod_ssl compilado estaticamente. #  SSLRandomSeed startup builtin SSLRandomSeed connect builtin SSLSessionCache "shmcb: logs / ssl.scache (512000)" SSLSessionCacheTimeout 300  # AJP13 Proxy   Inclui "conf / extra / httpd-ajp.conf" 

Se você estiver usando o Ubuntu, você primeiro terá que configurar o Apache

$ sudo ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf $ sudo ln -s /etc/apache2/mods-available/proxy.load / etc / apache2 /mods-enabled/proxy.load $ sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load

Em seguida, anexe o seguinte ao seu / etc / apache2 / sites-available / default

ProxyRequests Off # Lembre-se de desligar a próxima linha se você estiver fazendo proxy para um NameVirtualHost ProxyPreserveHost On  Negar pedido, permitir Permitir de todos  ProxyPass / geoserver http: // localhost: 8888 / geoserver ProxyPassReverse / geoserver http: // localhost: 8888 / geoserver 

É um pouco complicado no Windows, você terá que carregar alguns módulos para habilitar o proxy. Em seu httpd.conf, adicione o seguinte:

LoadModule proxy_module módulos / mod_proxy.so LoadModule proxy_http_module módulos / mod_proxy_http.so #LoadModule proxy_ftp_module módulos / mod_proxy_ftp.so #LoadModule proxy_connect_module módulos / mod_proxy_connect.so LoadModule headers_module módulos / mod_headers.so LoadModule deflate_module módulos / mod_deflate.so LoadModule xml2enc_module módulos / mod_xml2enc. então LoadModule proxy_html_module modules / mod_proxy_html.so

No final do seu httpd.conf, adicione as seguintes linhas

 ProxyPass / geoserver http: // localhost: 8080 / geoserver ProxyPassReverse / geoserver http: // localhost: 8080 / geoserver 

Fonte: http://scripting.com/stories/2008/11/19/checklistForReverseProxies.html


Você não precisa configurar proxypass e proxypassreverse.

Você precisará de um arquivo proxy.cgi escrito em python e o python instalado em seu servidor. você pode obter o arquivo proxy com a distribuição openlayers na pasta de exemplo. você terá que configurar o caminho para o interpretador python na primeira linha e adicionar seu host à lista de hosts permitidos.


Assista o vídeo: Advanced Geoserver: Configuring the Proxy.