Eu instalei o servidor Apache no meu computador com Windows 7. Consegui exibir o index.php padrão digitando http: // localhost / na linha de endereço do meu navegador.
No entanto, ainda não consigo visualizar esta página digitando o endereço IP do meu computador (nem localmente (do mesmo computador) nem globalmente (de outro computador conectado à Internet)).
Foi-me dito que eu precisava abrir a porta 80. Fiz isso (da maneira descrita aqui ), mas não resolveu o problema.
Antes de mais, gostaria de verificar quais portas estão abertas e quais não. Por exemplo, não tenho certeza de que minha porta 80 foi fechada antes de tentar abrir. Também não tenho certeza de que ele foi aberto depois que tentei abri-lo.
Eu tentei rodar um servidor web muito simples escrito em Python. Por isso usei a porta 81 e funcionou! E eu não tentei abrir a porta 81. Portanto, ela foi aberta por padrão. Então, se 81 é aberto por padrão, por que 80 não é? Ou é?
INFORMAÇÕES ADICIONAIS:
1. No meu arquivo httpd.conf, tenho "Listen 80".
2. Este site informa que a porta 80 do meu computador está aberta.
3. Recebo respostas diferentes se eu tentar http: // myip: 80 e http: // myip: 81 . No último caso, o navegador (Chrome) me escreve que o link está quebrado. No primeiro caso, recebo: Proibido Você não tem permissão para acessar / neste servidor.
4. O IE escreve que "o site se recusou a mostrar esta página da web".
fonte
Respostas:
Se você está apenas verificando suas portas pelo lado de fora. Use esta ferramenta:
http://www.yougetsignal.com/tools/open-ports/
Ele tentará se conectar ao seu endereço IP, na porta específica, e informar se está aberto ou fechado para o mundo externo.
Questões locais também? Parece que o firewall do Windows 7 está cortando você. Adicione uma exceção neste tutorial ...
http://www.sevenforums.com/tutorials/542-windows-firewall-add-remove-exception.html
fonte
localhost
e não a partir de outros computadores.A execução
netstat -a -n
ouss -a -n
em um prompt de comando mostrará todas as conexões de rede abertas e as portas de escuta em sua máquina.0.0.0.0:80
significaria que ele está escutando na porta80
de todos os endereços IP (localhost e seus endereços IP públicos / privados) onde, como127.0.0.1:80
significaria, está apenas escutando no localhost. Você pode adicionar-b
ao comando e ele mostrará qual executável está usando essa porta. Você pode obter as mesmas informações usando o Monitor de Recursos no Windows 7 na seção Portas de escuta da guia Rede.fonte
Se você quiser ver se está aberto em outro servidor, pode apenas
telnet serverName 80
ver se a sessão é aberta. Caso contrário, o servidor não está escutando ou a porta está bloqueada por um firewall.Se ele abrir e fechar imediatamente, pelo menos no Windows 2003, o software (como o Exchange) pode não estar configurado para escutar nessa interface ou IP específico, mas está escutando em outras portas. Vi o IIS se comportar dessa maneira porque é estúpido, o Apache pode não.
fonte
Você escreveu:
Embora isso possa parecer estranho, na verdade você não tem problemas com portas abertas (mas com a configuração do Apache).
Essa mensagem "Proibida" vem do seu servidor Apache; isso significa que seu servidor da web está acessível na Internet.
Você precisa configurar o Apache para permitir a veiculação em todos os hosts - caso contrário, eles receberão a página "Proibida". IIRC, o Apache é configurado inicialmente para permitir apenas solicitações do computador local.
Em algum lugar da sua configuração do Apache, provavelmente há uma seção como esta (o diretório real pode ser diferente):
Se você deseja permitir que qualquer computador veja suas páginas, é necessário alterar
Deny from all
paraAllow from all
. Consulte a documentação do módulo de acesso para obter mais informações .fonte
Para ver portas abertas, você provavelmente deve usar o nmap. Eles têm uma versão do Windows: http://nmap.org/dist/nmap-5.21-setup.exe
Não é suficiente se você vir a porta 80 aberta do host local - talvez algo que atrapalhe se você tentar de outro lugar, é por isso que recomendo o nmap
No cliente, você digita: nmap ip-of-your-server
fonte
Se você quiser testar isso em sua rede local, vá para o download nmap Se você quiser ver o clima, a porta está acessível para o mundo exterior, faça uma varredura em https://www.grc.com/x/ne.dll?bh0bkyd2
fonte
As portas do servidor podem ser vinculadas a um único endereço IP ou a todos os endereços IP disponíveis. Parece que sua instalação do Apache está configurada para ligar apenas ao 127.0.0.1, e você precisa configurá-lo para ligar ao *. No seu httpd.conf (no diretório conf do Apache), procure uma linha como
Listen localhost:80
e mude paraListen 80
.fonte
telnet <host> <port>
é seu amigo. Ele tem a virtude de ser instalado em praticamente todos os computadores do mundo.Edita após reler a pergunta:
Aqui estão algumas dicas úteis de diagnóstico
se você pode acessar o site via host local, mas não pelo IP local do site (192.168. *) de outros hosts da sua rede, provavelmente é um problema de firewall do Windows.
se você pode acessar o site de outras máquinas locais, mas não da Internet para o seu IP público, é um problema de configuração do roteador / encaminhamento de porta.
fonte
Em um prompt de comandos, digite:
... ou seu IP: 80. Isso informará se a porta 80 está aberta em sua máquina. Agora, se você quiser verificar e ver se pode acessá-lo de fora da sua rede, determinará se você possui algum tipo de firewall. Se o fizer, será necessário encaminhar a porta 80 para o servidor da web.
fonte
Se você estiver no Windows, use o SysInternals TCPView . Pode dizer qual programa está usando qual porta.
fonte
No comando do DOS:
fonte