Servidor Apache no Windows 7 abrindo portas?

20

Eu instalei o Apache 2.2.14 no Windows 7 e pode ver as minhas páginas web usando ambos http://localhoste http://127.0.0.1, mas quando tento acessar o servidor a partir de outro computador na mesma router, ele falhar. Também falha quando uso o endereço DynDNS que mapeei.

Isso funcionou bem no Windows XP antes de atualizar para o Windows 7.

Suspeito que o problema seja algo como a porta 80 não sendo aberta para acesso externo ao computador.

Alguém sabe como abrir essa porta no Firewall do Windows ou se alguma outra coisa está bloqueada e como desbloqueá-la?

WilliamKF
fonte

Respostas:

34

Para adicionar uma regra no Firewall do Windows para a porta 80, faça o seguinte:

  • Vá para o Painel de Controle e inicie o "Firewall do Windows"
  • Vá para "Configurações avançadas"
  • Selecione "Regras de entrada" no painel esquerdo
  • Selecione "Nova regra" no painel direito
  • No Assistente de nova regra de entrada, selecione "Porta" como tipo de regra e clique em "Avançar"
  • Selecione "TCP e coloque" 80 "(e quaisquer outras portas que você deseja abrir) em" Portas locais específicas "e clique em" Avançar "
  • Selecione "Permitir a conexão" e clique em "Avançar"
  • Selecione o local da rede onde a regra deve ser aplicada (selecione todos, se não tiver certeza) e clique em "Avançar"
  • Dê um nome e uma descrição opcional

Isso deve resolver.

Snark
fonte
2
Você pode achar que já existe uma regra de entrada "Apache" nas configurações do firewall. Se você examinar esta regra, encontrará algumas configurações na guia Geral, uma das quais é Ação. Existem duas opções - "Permitir a conexão" e "Permitir a conexão se for segura". Você pode escolher uma dessas opções a seu critério, mas sugiro que você leia e compreenda as opções "Personalizar" da última.
Aaron Newton
Dicas: Você poderá visitar essa porta, mas ainda não poderá executar ping no ip!
fzyzcjy
3

Parece que o Windows 7 Firewall tem medo da porta 80.

Ele abrirá essas portas se você a configurar desta maneira:

Servidor Apache → UDP → todas as portas.
Servidor Apache → TCP → todas as portas.

Isso é ruim, já que o Apache geralmente trabalha com portas específicas (quero dizer 80, algumas usam 8080 e 443), mas não encontrei outra maneira de fazer as regras de firewall do Apache funcionarem.

Sergio Abreu
fonte
2

Parece que você precisa adicionar uma exceção (porta 80) ao firewall do Windows.

Tenho certeza de que isso pode ser feito abrindo o painel de controle do firewall e clicando um pouco. No XP, era bastante simples, pelo menos.

O problema também pode ser que o apache esteja configurado apenas para escutar na interface de loopback. Você pode testar isso executando o netstat ou tentando visitar o outro endereço da sua máquina, como http://192.168.1.101/

user23307
fonte
2

Eu apenas trabalho. Eu criei a regra de exceção para a porta 80 no firewall do Windows. Estou executando o Windows 7 no laptop e o OSX Leopard no meu Mac. A exceção por si só não resolveu o problema. Desliguei o Firewall e consegui me conectar ao apache no laptop a partir do meu Mac. O que realmente resolveu o problema foi no painel de controle> rede e centro de compartilhamento. Alterei as configurações da rede ativa e defini-a como rede doméstica. Se você verificar o firewall do win, deverá ver a rede doméstica (privada) conectada

Ricardo
fonte
+1, eu também tive que escolher um grupo doméstico para a rede atual para que a regra funcionasse. Obrigado @ricardo.
Rishimaharaj
1

Tente abrir a porta do roteador para a sua máquina e ver o firewall do Windows.

Lembre-se de que, quando você reinstalou o Windows, é possível que você tenha uma concessão DHCP diferente e um endereço IP diferente, para que o roteador não esteja mais encaminhando-o corretamente.

Além disso, seu roteador precisa suportar "Nat Loopback", caso contrário, você simplesmente não conseguirá se conectar, no entanto, presumo que ele seja compatível com o que você disse anteriormente. Para verificar isso, eu recomendo que você use Hide My Ass ou Proxify .

William Hilsum
fonte
> É possível que você tenha um endereço IP diferente para que o roteador não esteja mais encaminhando-o corretamente. Acordado! Estou "portablizando" minha instalação do WordPress para que eu possa hospedá-la facilmente de qualquer lugar. Consegui trabalhar localmente, mas está bloqueado no mundo. Já existe uma exceção no Firewall do Windows, porque eu disse permitir quando ele me solicitou, então verifiquei o roteador e, com certeza, ele estava configurado para encaminhar a porta 80 para o IP da minha área de trabalho. Claro que mudar para o laptop não é bom. Acabei atribuindo um gatilho de porta e agora funciona a partir de qualquer sistema conectado.
Synetech
1

Além de verificar o firewall e verificar se o apache está escutando apenas o endereço do host local, você também pode / deve verificar seus .htaccessarquivos. A nova versão que você instalou pode ter implementado uma política de segurança mais restritiva.

Alguns tutoriais sobre .htaccess

pcapademic
fonte
0

Parece que é um problema com o firewall do Windows 7. Quando desligo o firewall, ele funciona corretamente. Agora só preciso descobrir como ativar o firewall, mas permitir conexões da porta 80.

WilliamKF
fonte