Servidor Web por trás do NAT dando 403's

1

Eu tenho um servidor web servindo páginas de um endereço IP local.

É por trás do NAT que configurou corretamente o encaminhamento de porta para 80 e 443 (testado apontando para outro servidor web local).

Ao tentar acessar a partir do endereço público, recebo 403 e, ao mesmo tempo, tudo é acessado pela rede local.

O servidor da Web é o apache.

Qual seria a ordem das coisas para verificar?

EDITAR : Obrigado a todos por suas respostas. Problema resolvido.

Eu verifiquei o log de acesso do apache (403 é mencionado lá), mas isso não me deu nenhuma pista real. Naquele momento eu estava basicamente me perguntando se é o apache ou o webapp (drupal) que está dando essa resposta. Depois de triplicar a verificação da configuração do apache, também verifiquei o aplicativo da Web mais detalhadamente e descobri que IPs não locais foram banidos.

EDIT 2: Se alguém fornecer uma boa resposta (ou expandir o existente) sobre o que seria uma maneira correta de determinar se era o apache ou o webapp, aceitarei isso como uma resposta.

    
por Unreason 15.09.2010 / 16:23

3 respostas

1

Você usa hosts virtuais baseados em nome na sua configuração do apache? Como você se conecta a partir da LAN e através do roteador NAT? Se você tiver hospedagem virtual baseada em nome, o cabeçalho Host na solicitação HTTP define qual host virtual atende à solicitação. Então, por exemplo, se eu tiver algo como:

<VirtualHost *:80>
  ServerName my.internal.hostname
  .....
</VirtualHost>

<VirtualHost *:80>
  ServerName some.other.hostname
  ...
</VirtualHost>

E eu conecto o roteador externo com o link , posso acabar no último host virtual que eu especifiquei. Se aquele está configurado em um DocumentRoot que não tem permissões, recebo um 403.

Outra possibilidade pode ser que você tenha um DocumentRoot especificado e, mais tarde, uma diretiva Directory que não tenha "allow from all", mas apenas algo como "allow from 192.168.0.0/24".

    
por 15.09.2010 / 17:36
1

O que o log de erros do apache diz? isso deve te dar uma pista.

Melhor palpite - Verifique duas vezes a configuração do seu servidor - você está permitindo o acesso de "qualquer"? Pode haver uma regra lá apenas permitindo a sub-rede local.

    
por 15.09.2010 / 17:37
0

403 é proibido o acesso. Você permite acesso anônimo ao apache?

    
por 15.09.2010 / 16:27