[FUG-BR] Urgent: Apache 2.0 + mod_proxy - esconder IIS
Rainer Alves
freebsd em powered.net
Sex Set 9 14:58:02 BRT 2005
Filippus,
Recentemente implementei o mod_proxy_html, e está funcionando
perfeitamente... compilei estaticamente o mod_proxy.so, proxy_connect.so
e proxy_http.so. Além disso, habilitei o mod_rewrite.
Antes de mostrar o meu httpd.conf, explico a idéia: para todos os
acessos de clientes em www.dominio.com.br/appserver/* no seu webserver,
o Apache fará um proxy automático para o application server (em
wwwapp.dominio.com.br) e retornará a página (o wwwapp só é acessado pelo
server do Apache, nunca pelos clientes externos). Quanto ao mod_rewrite,
ele trabalha em conjunto com o mod_proxy_html para fazer redirects como
o exemplo abaixo de forma totalmente transparente para o usuário:
www.dominio.com.br/servlet/minhaClasse =>
=> www.dominio.com.br/appserver/servlet/minhaClasse =>
=> wwwapp.dominio.com.br/servlet/minhaClasse
LoadFile /usr/lib/libxml2.so
LoadModule proxy_html_module modules/mod_proxy_html.so
ProxyRequests Off
ProxyHTMLExtended Off
ProxyHTMLLogVerbose Off
ProxyPass /appserver/ http://wwwapp.dominio.com.br/
ProxyHTMLURLMap http://wwwapp.dominio.com.br /appserver hec
<Location /appserver/>
ProxyPassReverse /
SetOutputFilter proxy-html
ProxyHTMLURLMap / /appserver/
RequestHeader unset Accept-Encoding
</Location>
#
# rewrite para wwwapp.dominio.com.br (atraves do mod_proxy reverso)
#
RewriteCond %{HTTP_HOST} ^www\.dominio\.com\.br [NC]
RewriteCond %{REQUEST_URI} !^/appserver.*$ [NC]
RewriteCond %{REQUEST_URI}
^/(arquivos|consulta|portal|servlet|hotsite\/promocao\/classes)/.*$ [NC,OR]
RewriteCond %{REQUEST_URI} ^/.*\.jsp.*$ [NC]
RewriteRule ^/(.*) http://www.dominio.com.br/appserver/$1 [L,R]
Att.,
Rainer Alves
BrasilTelecom
R. Filippus wrote:
>Bom dia a todos.
>
>Tenho um IIS rodando uma aplicação que ficara acessivel externamente,
>mas quero esconder ele, ou seja, o pessoal acessa o servidor de
>paginas Apache, e o Apache se responsabiliza em abrir as paginas.
>
>Algumas pessoas me indicaram usar o mod_proxy.
>Compilei ele e adicione as linhas ao /httpd.conf
>
># httpd.conf
>LoadModule proxy_module libexec/apache2/mod_proxy.so
>LoadModule proxy_html_module libexec/apache2/mod_proxy_html.so
>
><VirtualHost *>
> ServerName aplicacao.dominio.com.br
> DocumentRoot /usr/local/www/aplicacao/
> ProxyPass / http://200.x.x.x/aplicacao/
> ProxyPassReverse / http://200.x.x.x/aplicacao/
> ErrorLog /var/log/apache/aplicacao.dominio.com.br-error_log
> CustomLog /var/log/apache/aplicacao.dominio.com.br-access_log common
></VirtualHost>
>
>
>Rodei os camandos nada de erros:
># apachectl configtest
># apachectl graceful
># apachectl restart (só para garantir)
>
>Ao tentar acessar o host http://aplicacao.dominio.com.br aparece:
>
>Forbidden
>You don't have permission to access / on this server.
>--------------------------------------------------------------------------------
>Apache Server at aplicacao.dominio.com.br Port 80
>
>
>Agradeço a atenção de todos.
>
>
>
_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Mais detalhes sobre a lista de discussão freebsd