+ Responder ao Tópico



  1. #1

    Question iptables redirecionar site com subpasta

    Olá,

    To com o seguinte problema aqui, pessoal:

    Tenho um servidor de internet a radio funcionando com proxy transparente e autenticação.

    nas minhas regras, coloco pra que quando o pessoal ainda não tiver logado, rodar o seguinte comando:

    iptables -t nat -A PREROUTING -p tcp -s <ip_do_camarada> -j DNAT -to <ipservidororta_apache>

    isso, ao meu ver, redirecionaria qualquer tentativa de conexão para o site do apache.

    até aí tudo bem, se eu acessar Google ele redireciona sim pro site, assim como qualquer outro site.

    o problema é quando o cara tenta acessar http://www.site.com.br/subpasta_qualquer/, aí dá "a página não pode ser exibida".

    ou seja ele só redireciona quando tento acessar o dominio puro do site.

    Uso Ubuntu 8.04 LTS Server, iptables v1.3.8.

    alguem tem alguma solução?

    desde já agradeço pela atenção.

    Mário Junior.

  2. #2

    Padrão Redirecionamento

    Já tentou especificar a porta destino também?

    -p tcp --dport 80

    ???

    Tenta aí e posta o que aconteceu.

  3. #3

    Question

    obrigado pela resposta, cara.

    seguinte, na minha regra fiz o contrario, coloquei assim:

    iptables -t nat -A PREROUTING -p tcp -s <ip_do_camarada> ! -dport 8885 -j DNAT -to <ipservidor : porta_apache>

    essa é a regra que uso.
    tentei com a sua e ele fez a mesma coisa.

    descobri o porque do problema, mas não a solução.

    o problema é que a minha regra diz pra redirecionar qualquer requisição para o ipservidor : porta_apache, certo?

    isso faria o seguinte: se eu acessar http://www.teste.com.br/, o iptables redirecionaria para http://ipservidor:aportadoapache/ , mas se eu acessar http://www.teste.com.br/pastadeteste, o que o iptables faria é simplesmente traduzir para http://ipservidor:aportadoapache/pastadeteste, mas essa pasta de teste não existe no meu servidor, daí a mensagem, "a página não pode ser exibida".

    agora a solução do problema seria fazer o iptables traduzir http://www.teste.com.br/pastadeteste para http://ipservidor:aportadoapache/ <- sem o "pastadeteste".

    Se alguem puder ajudar agradeço.

    Mário Júnior.
    Última edição por mrjunior; 27-05-2008 às 11:35.

  4. #4

    Padrão

    Ah, já tentei trocar o "-j DNAT" por "-j REDIRECT" também, dá no mesmo.

  5. #5

    Arrow

    Já leu sobre proxy apache?

    mod_proxy - Apache HTTP Server

    Ab, Duca.

  6. #6

    Padrão pagina de erro do apache

    Oi no seu apache procure pela sessão:

    # Customizable error response (Apache style)
    # these come in three flavors
    #
    # 1) plain text
    #ErrorDocument 500 "The server made a boo boo.
    # n.b. the single leading (") marks it as text, it does not get output
    #
    # 2) local redirects
    #ErrorDocument 404 /missing.html

    use da seguinte forma

    ErrorDocument 400 /index.htm
    ErrorDocument 404 /index.htm

    Basicamente o iptables redireciona para o apache que da erro na pasta e joga para o index.htm e voala

    Abraço