|
|
Linha 1: |
Linha 1: |
− | ====Configurando Apache====
| + | comment1, http://www.qbn.com/ViagraForSale/634048/ viagra for sale in canada, vjycu, http://www.qbn.com/Tadacip/634052/ buy tadacip 20mg, :)), http://tadalafil20mg.blip.tv/ buy tadalafil 20mg online, odi, http://accutane.123guestbook.com/ buy accutane, :(, http://www.metacafe.com/f/channels/Tadalafil/ generic cialis 20mg, >:-OO, |
− | | + | |
− | =====Fazendo Rewrite com Proxy=====
| + | |
− | | + | |
− | Oque acontece neste cenario?
| + | |
− | | + | |
− | [[Imagem:Apache_proxy.jpeg|thumb|Sequencia de pedido 1 e 2 e resposta 3 e 4.]]
| + | |
− | | + | |
− | Voce tem um apache no IP 192.168.60.3, no qual você configura vários '''VirtualHost'''.
| + | |
− | Num dos VirtualHost que você define como www.seusite.com.br ( deve ter este nome como
| + | |
− | entrada '''cname''' ao nome dado ao Host no '''DNS''' ).
| + | |
− | | + | |
− | Quando o navegador buscar o nome vai cair no IP indicado pelo '''servidor DNS''', mas na '''URL''' passada para o apache vai chegar como ''<nowiki>http://www.seusite.com.br/<sua_requisição></nowiki>'' com isso o apache usa a configuração abaixo de VirtualHost, fazendo log nos arquivos especificados. Existe também um outro site em outro servidor com IP 192.168.90.2 com um subdiretorio /outrosite/ que deve ser apresentado como sendo de ''<nowiki>www.seusite.com.br</nowiki>''. Estas regras de ''rewriting'' fazem este trabalho.
| + | |
− | | + | |
− | O Usuário final irá requisitar o site ''<nowiki>http://www.seusite.com.br/<sua_requisição></nowiki>''. Quando esta chega ao apache de 192.168.60.3 a requisição é re-escrita como ''<nowiki>http://192.168.90.2/outrosite/<sua_requisição></nowiki>'' e a requisição enviada para o IP 192.168.90.2. Esta máquina responde a requisição para o IP 192.168.60.3 que por sua vez reescreve a resposta precedendo com a string ''<nowiki>http://www.seusite.com.br/</nowiki>'' e envia a resposta ao usuário final.
| + | |
− | | + | |
− | Para o usuário final o servidor que responde a todas as suas requisições é o site ''<nowiki>www.seusite.com.br</nowiki>'' que está no IP 192.168.60.3 mas na verdade a máquina que faz todos os processamentos e detém o conteúdo é o servidor no IP 192.168.90.2 dentro da '''URI''' ''/outrosite/''.
| + | |
− | | + | |
− | <pre>
| + | |
− | <VirtualHost 192.168.60.3> | + | |
− | ServerAdmin webmaster@seusite.com.br
| + | |
− | DocumentRoot /home/www/htdocs/seubarra
| + | |
− | ServerName www.seusite.com.br
| + | |
− | ErrorLog /var/log/apache/seusite_error_log
| + | |
− | CustomLog /var/log/apache/seusite_access_log combined
| + | |
− | # Atencao o IP deste servidor externo deve ser permitido do iptables
| + | |
− | # Configuração testada para apache 1.3
| + | |
− | # Modulos carregados no VirtualHost Principal
| + | |
− | <IfModule mod_proxy.c>
| + | |
− | ProxyRequests Off
| + | |
− | RewriteEngine on
| + | |
− | RewriteRule ^/outrosite$ / [R=permanent]
| + | |
− | RewriteRule (.*) to://192.168.90.2/outrosite/$1
| + | |
− | RewriteRule ^to://([^/]+)/(.*) http://$1/$2 [E=SERVER:$1,P,L]
| + | |
− | ProxyPassReverse / http://192.168.90.2/outrosite/
| + | |
− | </IfModule>
| + | |
− | </VirtualHost> | + | |
− | </pre>
| + | |
− | | + | |
− | Mais um cenário: tenho servidor-s1 com um VirtualHost www.seuprincipal.inf.br com servidor-s2 e servidor-s3 com conteúdo web para serem mostrados como subdiretório em seu VirtualHost.
| + | |
− | ''<nowiki>http://servidor-s2/ss2/</nowiki>'' e ''<nowiki>http://servidor-s3/ss3/</nowiki>'' devem aparecer como ''<nowiki>http://www.seuprincipal.inf.br/ss2/</nowiki>'' e ''<nowiki>http://www.seuprincipal.inf.br/ss3/</nowiki>'' respectivamente.
| + | |
− | | + | |
− | servidor-s1 192.168.10.2<br>
| + | |
− | servidor-s2 192.168.20.3<br>
| + | |
− | servidor-s3 192.168.30.4
| + | |
− | | + | |
− | <pre><VirtualHost 192.168.10.2>
| + | |
− | ServerAdmin webmaster@servidor-s2 | + | |
− | DocumentRoot "/home/www/htdocs"
| + | |
− | ServerName www.seuprincipal.inf.br
| + | |
− | ServerAlias servidor-s1.inf.br
| + | |
− | <IfModule mod_proxy.c>
| + | |
− | ProxyRequests off
| + | |
− | RewriteEngine on
| + | |
− | RewriteLog "/var/log/apache/rewrite_seuprincipal.log"
| + | |
− | RewriteLogLevel 1
| + | |
− | # linhas do rewrite+proxy servidor-s2
| + | |
− | RewriteRule ^/ss2$ /ss2/ [R=permanent]
| + | |
− | RewriteRule ^/ss2/(.*) to://192.168.20.3/ss2/$1
| + | |
− | RewriteRule ^to://([^/]+)/(.*) http://$1/$2 [E=SERVER:$1,P,L]
| + | |
− | ProxyPassReverse /ss2/ http://192.168.20.3/ss2/
| + | |
− | # linhas do rewrite+proxy servidor-s3
| + | |
− | RewriteRule ^/ss3$ /ss3/ [R=permanent]
| + | |
− | RewriteRule ^/ss3/(.*) to://192.168.30.4/ss3/$1
| + | |
− | RewriteRule ^to://([^/]+)/(.*) http://$1/$2 [E=SERVER:$1,P,L]
| + | |
− | ProxyPassReverse /ss3/ http://192.168.30.4/ss3/ | + | |
− | # mais outras se for o caso
| + | |
− | </IfModule>
| + | |
− | </VirtualHost> </pre>
| + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | | + | |
− | ======Links Úteis======
| + | |
− | http://httpd.apache.org/docs/1.3/mod/index-bytype.html<br>
| + | |
− | http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html<br>
| + | |
− | http://httpd.apache.org/docs/1.3/mod/mod_proxy.html<br>
| + | |
− | http://httpd.apache.org/docs/1.3/misc/rewriteguide.html<br>
| + | |
− | http://httpd.apache.org/docs/2.0/mod/mod_proxy.html<br>
| + | |