Eu tenho um servidor web Apache (2.4.10) em execução em uma área de trabalho com o Debian (Jessie, 8).
A área de trabalho possui um endereço IP local estático (192.168.xx) e meu endereço IP WAN (público) também foi corrigido (82.xxx) pelo meu ISP. Um encaminhamento de porta para a porta 80 para esta área de trabalho foi adicionado.
Posso acessar a página da Web da minha LAN sem problemas, mas não consigo acessá-la usando o endereço WAN, de dentro ou de fora da minha casa: recebo um "A página da Web não está disponível - ERR_CONNECTION_REFUSED" do Chrome. Observe 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 que "index.html" com o Hello World.
Tentei ligar o firewall do 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 pesquisei no Google. Alguém tem alguma sugestão sobre como tornar o site acessível?
fonte
Respostas:
Eu resolvi isso!
Graças ao Moonpoint, percebi que o problema estava no encaminhamento de porta. Então, dei uma outra olhada e notei que, para a regra da porta 80, a "Interface WAN" foi definida como "ADSL" (padrão). Não sei o que isso significa, então nunca mudei. Tentei opções diferentes e defini-lo como "ETHWAN" resolveu o problema. Agora posso acessar a página da Web publicamente e adicionei um DDNS sem IP que também funciona.
EDIT: Agora eu aprendi que a interface ETHWAN WAN foi simplesmente a adicionada ao roteador pelo meu ISP e é a interface para conexão de fibra óptica.
fonte
Quando você declara que tentou desativar o firewall do iptables, mas não obteve êxito, quer dizer que desabilitou o firewall do iptables, mas ainda não conseguiu se conectar ao servidor da Web a partir de um endereço IP externo ou que não conseguiu desativar o host firewall baseado em iptables? Verifique os logs de acesso e erro do Apache do seu site para ver se alguma tentativa de acessar o sistema a partir de um endereço IP externo está registrada em um desses arquivos. Verifique seu
/etc/httpd/conf/httpd.conf
arquivo Apache . Você tem alguma seção semelhante à seguinte em qualquer lugar do arquivo:No exemplo acima, o acesso de todos, exceto o endereço do host local , 127.0.0.1, e sistemas na mesma LAN, ou seja, 192.168.xxx.xxx, não é permitido. Se você deseja tornar o servidor acessível ao mundo, um "Negar a todos" seria inapropriado.
Você pode isolar o problema no sistema Debian no qual está executando o servidor web Apache ou no roteador em que você configurou o encaminhamento de porta, desde que não haja equipamentos intermediários de rede, usando o comando tcpdump no sistema Debian Linux. Emita o comando
tcpdump -i any port 80
como root. Isso fará com que o tcpdump procure apenas conexões na porta 80 em qualquer interface, ignorando outro tráfego. Em seguida, tente conectar-se ao servidor web a partir de um endereço externo. Se tcpdump mostrar o tráfego para a porta 80 que chega ao sistema Linux, o encaminhamento de porta está funcionando corretamente. Se você provavelmente não tiver um problema com o encaminhamento de porta, verifique novamente se está encaminhando a porta 80 para o endereço IP correto do servidor da web.fonte
httpd.conf
não é mais usado no Apache, eu acho. Embora eu poderia encontrar o<Directory>
bit noApache2.conf
. Não havia uma declaração semelhante a "Negar tudo":<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
tentei o dcpdump e, de fato, chamadas IP externas não são registradas. Recebo uma atualização quando abro o servidor normalmente. No entanto, tenho certeza de que estou encaminhando a porta 80.