+ Responder ao Tópico



  1. #1

    Padrão Lokura no iptables

    Pessoal,

    Não estou conseguindo redirecionar 80 para 443 no firewall, favor notar que se chamo pelo browser direto funciona, tanto ip:80 como ip:443.
    segue regra:
    iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp -m tcp --dport 80 -j DNAT --to-destination yyy.yyy.yyy.yyy:443

    Dá o seguinte erro:
    "Bad request!

    Your browser (or proxy) sent a request that
    this server could not understand.

    If you think this is a server error, please contact
    the webmaster.

    Error 400"

    Apache/2.0.54 (Mandriva Linux/PREFORK-13.3.20060mdk)

    Alguém tem alguma idéia de como resolver isso?

    Desde já agradeço qualquer ajuda.

    Abraços.

  2. #2

    Padrão

    Caro amigo, explique melhor a sua duvida, redirecionar da porta 80 para a porta 443 na mesma maquina? em outra maquina? redirecionar de onde para onde? A conexão é interna ou externa? Pq da 80 para a 443 ?

  3. #3

    Padrão

    Caro romulomn,

    Desejo que todo tráfego que vier da net na porta 80 redirecione para outra máquina (webserver) na porta 443, preciso rodar uma aplicação e tem que ser https://.

    Acho que ficou mais claro...

    Abraço

  4. #4

    Padrão

    fala!

    axo que a regra deveria ser assim:

    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination yyy.yyy.yyy.yyy:443

  5. #5

    Padrão

    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination yyy.yyy.yyy.yyy:443, essa regra está quase certa o caminho é esse mesmo, mais de maneira um pouco diferente, seria assim:

    iptables -t nat -A PREROUTING -i eth0 -p tcp -d xxx.xxx.xxx.xxx --dport 443 -j DNAT --to-destination xxx.xxx.xxx.xxx

    Resumindo

    -i eth0 = a interface que está ligado no seu modem
    --dport = a porta que vc quer redirecionar no seu caso tem que ser a 443 e não a 80. 80 é http, 443 é https.
    Pq tem que ser a 443 e não a 80 ?
    Se o usuario digita lá no browser dele http://www.seuserviço.com.br e o seu firewall manda para o porta 443 a minha duvida é que vai dar justamente o erro que está dando, o cliente solicitou 80 e o servidor respondeu 443, são dois serviços diferentes e devem ser tratados assim.
    Para que de certo o cliente tem que solicitar o serviço https://www.seuserviço.com.br que vai solicitar a porta 443 vai passar pela regra que citei acima e vai ser respondido de forma correta pelo servidor.
    Qualquer duvida poste ai.