- Redirecionar um domínio
+ Responder ao Tópico
-
Redirecionar um domínio
Pessoal, como procurei e não encontrei nada parecido com o que eu preciso, resolvi pedir ajuda aqui para vocês.
Acontece o seguinte: (desculpem o texto longo, mas foi necessário para explicar direito o problema)
Tenho um gateway, de IP 192.168.xxx.1, rodando um script Firewall com iptables.
Debaixo desse Gateway, funciona um servidor web, na porta 80, de IP 192.168.xxx.4
Até aí, tudo bem. O problema é que me foi pedido para colocar um site em uma outra máquina, de IP 192.168.xxx.100. Esse site não pode ficar no mesmo servidor web, para não sobrecarregá-lo.
Foi registrado um domínio para esse site:_www.dominio.com.br. E como a porta 80 do firewall já está ocupada com o primeiro servidor web, eu tive que utilizar uma porta alternativa no Gateway, que no caso foi a 8083. (a 8080, 8081 e 8082 estão ocupadas com outros serviços)
Meu problema começa aí: Se eu digito_www.dominio.com.br, obviamente a requisição vai para o servidor web 192.168.xxx.4. Como a porta 80 do Gateway está redirecionada para o IP 192.168.xxx.4, a coisa só funciona se eu digito_www.dominio.com.br:8083. Foi redirecionada a porta 8083 do Gateway para a porta 80 do servidor de IP 192.168.xxx.100.
Eu li que tem como redirecionar esse domínio_(www.dominio.com.br)_para outro servidor e outra porta com o iptables, mas não sei como fazer.
No caso eu gostaria de redirecionar o endereço_www.dominio.com.br_para o IP 192.168.xxx.100, porta 80, de forma que não me fosse preciso digitar o :8083 no final.
Alguém teria como me auxiliar nisso? É preciso acrescentar, ou apenas alterar alguma das regras?
Este domínio está registrado apenas para o IP real do Gateway: 200.xxx.xxx.xxx
Segue minhas regras na firewall que cuidam dos redirecionamentos para esses dois servidores web (lembrando que tudo funciona perfeitamente. Só preciso redirecionar este domínio especificamente, para não precisar digitar a porta 8083 após o endereço:
Agradeço a ajuda!!!
echo "Redirecting WWW port"
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 8083 -j ACCEPT
$IPTABLES -t filter -I FORWARD -d 192.168.xxx.4 -p tcp --dport 80 -j ACCEPT
$IPTABLES -t filter -I FORWARD -s 192.168.xxx.4 -p tcp --sport 80 -j ACCEPT
$IPTABLES -t filter -I FORWARD -d 192.168.xxx.100 -p tcp --dport 80 -j ACCEPT
$IPTABLES -t filter -I FORWARD -s 192.168.xxx.100 -p tcp --sport 80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 80 -j DNAT --to 192.168.xxx.4
$IPTABLES -t nat -A PREROUTING -p tcp -i $EXTIF --dport 8083 -j DNAT --to 192.168.xxx.100:80
$IPTABLES -t nat -A PREROUTING -p tcp -d 200.xxx.xxx.xxx --dport 80 -j DNAT --to 192.168.xxx.4
$IPTABLES -t nat -A PREROUTING -p tcp -d 200.xxx.xxx.xxx --dport 8083 -j DNAT --to 192.168.xxx.100:80
$IPTABLES -t nat -A POSTROUTING -d 192.168.xxx.4 -j SNAT --to 200.xxx.xxx.xxx
$IPTABLES -t nat -A POSTROUTING -d 192.168.xxx.100 -j SNAT --to 200.xxx.xxx.xxx
Última edição por felixleonardo; 31-08-2009 às 21:42.
-
Já rolaram diversas discussões sobre isso no fórum, eu já participei de várias. O que você deseja não é possível de se fazer apenas por regras de filtro de pacotes. Porém, você pode usar o Redirect do Apache para fazê-lo.
Você cria um novo VirtualServer para o domínio que você quer. Então, dentro desse VirtualServer, você coloca a seguinte diretiva:
Redirect permanent "/" "http://200.xxx.xxx.xxx:8083/"
E claro, no seu filtro de pacotes deverá constar uma regra que direcione o tráfego da porta 8083 para o host correto. A barra no final do endereço de destino é essecial.
Veja aí de dá certo
-
Pedro, amigão, não sei se foi isso que você me sugeriu, mas eu consegui fazer acrescentando um bloco VirtualHost no servidor web 192.168.xxx.4 da seguinte forma:
<VirtualHost 192.168.xxx.4:80>
ServerName http://www.dominio.com.br
Redirect permanent http://www.dominio.com.br:8083/
</VirtualHost>
Deu certinho agora. Agradeço muito a ajuda!!!
Última edição por felixleonardo; 01-09-2009 às 09:27.
Razão: Problema solucionado