[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