Servidor web Apache não acessível publicamente

2

Eu tenho um servidor web Apache (2.4.10) rodando em um desktop com o Debian (Jessie, 8).

A área de trabalho tem um endereço IP local estático (192.168.x.x) e meu endereço IP WAN (público) também foi corrigido (82.x.x.x) pelo meu provedor. Um encaminhamento de porta para a porta 80 para esta área de trabalho foi adicionado.

Eu posso acessar a página da Web sem problemas, mas não consigo acessá-la usando o endereço da WAN, de dentro ou de fora da minha casa: recebo uma mensagem "A página da Web não está disponível - ERR_CONNECTION_REFUSED" no Chrome. Note que eu posso abrir meu roteador usando o endereço WAN (em outra porta).

A página da Web em si não é muito mais do que "index.html" com o Hello World.

Eu tentei transformar o firewall iptables, não funcionou. Eu tentei uma porta diferente de 80, não funcionou. Eu chamei pelo ISP e a porta 80 não está bloqueada. Eu já me espelhei maluco. Alguém tem alguma sugestão sobre como tornar o site acessível?

    
por Roberto 01.02.2016 / 23:54

2 respostas

1

Eu resolvi isso!

Graças ao Moonpoint, percebi que o problema estava no Port Forwarding. Então, dei outra olhada e notei que, para a regra da porta 80, a "Interface WAN" era definida como "ADSL" (padrão). Eu não sei o que isso significa, então eu nunca mudei. Eu tentei diferentes opções e defini-lo para "ETHWAN" resolveu o problema. Agora posso acessar a página da web publicamente e adicionar um DDNS não-ip que também funciona.

EDIT: Agora eu aprendi que a interface ETHWAN WAN era simplesmente aquela adicionada ao roteador pelo meu ISP e é a interface para a conexão de fibra de vidro.

    
por 02.02.2016 / 21:59
0

Quando você afirma que tentou desligar o firewall do iptables, mas não teve êxito, você quer dizer que desativou o firewall do iptables, mas ainda não conseguiu se conectar ao servidor da web a partir de um endereço IP externo ou quer dizer que não conseguiu desativar o firewall iptables baseado em host? Verifique o acesso do Apache e os logs de erros do seu site para ver se qualquer tentativa de acessar o sistema a partir de um endereço IP externo é registrada em um desses arquivos. Verifique seu arquivo Apache /etc/httpd/conf/httpd.conf . Você tem alguma seção semelhante à seguinte em qualquer lugar do arquivo:

<Directory /home/www/example>
      Order Deny,Allow
      Deny from all
      Allow from 192.168 127.0.0.1
 </Directory>

No exemplo acima, o acesso de todos, exceto o endereço localhost , 127.0.0.1, e os sistemas na mesma LAN , ou seja, 192.168.xxx.xxx, não é permitido. Se você quiser tornar o servidor acessível para o mundo, um "Negar de todos" seria inadequado.

Você pode isolar o problema ao sistema Debian no qual você está executando o servidor web Apache ou o roteador onde você configura o encaminhamento de porta, desde que não haja partes intervenientes do equipamento de rede, usando o tcpdump comando no sistema Debian Linux. Emita o comando tcpdump -i any port 80 as root. Isso fará com que o tcpdump procure apenas conexões para a porta 80 em qualquer interface, ignorando o tráfego restante. Em seguida, tente se conectar ao servidor da web a partir de um endereço externo. Se o tcpdump mostrar o tráfego para a porta 80 atingindo o sistema Linux, o encaminhamento de porta está funcionando corretamente. Se você não tiver um problema com o encaminhamento de porta, verifique se você está encaminhando a porta 80 para o endereço IP correto para o servidor da Web.

    
por 02.02.2016 / 03:12