O Firewall do Windows tem a porta 80 aberta, mas impede que o Apache faça conexões


11

Eu tenho uma máquina Windows 7 que serve poucas páginas (mas importantes!). Eu tenho uma exceção que permite qualquer tráfego para a porta 80 *, mas o Apache 2.2 ainda não pode servir páginas (embora eu possa vê-las na própria máquina). Se eu desativar completamente o Firewall do Windows, posso executar ping na caixa e carregar as páginas.

O que mais eu preciso configurar para que o Apache possa fazer seu trabalho?

* Na verdade, o mesmo acontece mesmo que eu mude a exceção para "todas as portas" em vez de apenas 80.


3
1. Pare de usar o ping como uma ferramenta de teste de serviço. Se você pode executar ping no host ou não, é irrelevante se o site está ou não sendo executado e acessível. 2. Qual perfil de rede está ativo no firewall do Windows e a qual perfil de rede sua regra está vinculada?
precisa saber é o seguinte

@ joeqwerty: mencionei ping apenas para fornecer informações adicionais.
Charles

Respostas:


10

Se a porta 80 está ou não aberta no seu firewall, não significa que o ping começará a funcionar se o Apache estiver sendo executado corretamente. O ping usa o ICMP, que é um protocolo próprio que precisa ser aberto no firewall para receber respostas de ping da sua máquina. Portanto, não conte com o ping para verificar se a sua configuração apache / firewall está funcionando.

Em resposta à sua regra de firewall para tcp 80, vá para as propriedades da sua regra e verifique se todas as três caixas de seleção (Domínio, Privado, Público) estão marcadas e, se não, não. insira a descrição da imagem aqui

Aqui está um HOWTO com as etapas exatas que você precisa executar para abrir a porta 80 no Windows 7: link

Atualizar:

Verifique também se você não está bloqueando o processo apache com o Firewall do Windows.
1. Vá para o Painel de controle
2. Selecione Sistema e segurança
3. Na seção Firewall do Windows, selecione Permitir um programa pelo Firewall do Windows .
insira a descrição da imagem aqui
4. Desmarcar a caixa à esquerda do nome do aplicativo impede que ele acesse os recursos de rede, enquanto a verificação permite o acesso.
insira a descrição da imagem aqui
Se o Apache não estiver listado, clique no botão Permitir outro programa… para adicioná-lo e marque as caixas em Casa / Trabalho e Público.


Todos os três foram verificados. O site não será aberto em um navegador (exceto no próprio servidor).
Charles

1
@ Charles: Nesse caso, faça estas 5 coisas: 1. Habilite o log do firewall na máquina Windows 7. 2. Instale um programa de captura de pacotes na máquina Windows 7. 3. Inicie uma captura. 4. Tente navegar no site a partir de outra máquina. 5. Interrompa a captura e inspecione-a e o log do firewall em busca de pistas sobre o que está acontecendo.
Joeqwerty

Tem certeza de que criou a regra no Inbound Rulespainel esquerdo?
George Tasioulis

@ Charles, por favor, verifique minha atualização.
George Tasioulis

1
@ George: É isso. A permissão "Monitor Apache Servers" (além da exceção da porta 80) fez com que funcionasse.
Charles

2

Verifique o serviço "Cache de ramificação" e pare-o se estiver em execução.


1

Se a desativação do firewall resolver completamente o problema, mas suas regras de exceção não, então arriscaria dizer que suas exceções estão com defeito.

Segundo a Microsoft , a primeira etapa na solução de problemas de firewall é verificar o perfil ativo (público, privado ou domínio).

A primeira etapa na solução de problemas do Firewall do Windows é verificar qual perfil está ativo. O Firewall do Windows com Segurança Avançada é um aplicativo com reconhecimento de local de rede. À medida que os locais de rede aos quais o computador está conectado são alterados, o perfil do Firewall do Windows muda. Os perfis descrevem as configurações e regras do Firewall do Windows que são aplicadas, dependendo do tipo de local da rede das conexões de rede ativas.

Portanto, uma possibilidade é que você tenha feito a regra certa, mas com o perfil errado.

Espero que ajude.


Bom pensamento, +1. Esse não é o meu problema, mas pude ver alguém cometendo esse erro.
Charles

0

Seu httpd.conf provavelmente está se restringindo a clientes apenas em host local ou sub-rede local.

No seu conjunto httpd.conf:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

e possivelmente também este:

<Directory "E:/Apache/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Allow from all
</Directory>

Não é o problema, porque se eu desligar o firewall, o problema desaparece. (Além disso, antes de atualizar para o Win7, o mesmo httpd.conf funcionava bem por anos.)
Charles

0

Seu firewall não permite que nenhuma nova conexão compartilhe informações sem o seu consentimento. A única coisa a fazer é dar seu consentimento ao seu firewall.

  1. Vá para as configurações do firewall no painel de controle
  2. Clique em Configurações avançadas
  3. Clique em Regras de entrada e adicione uma nova regra.
  4. Escolha 'Tipo de regra' para porta.
  5. Permitir isso para todos os programas.
  6. Permita que esta regra seja aplicada a todos os perfis, como Domínio, Privado, Público.
  7. Atribua um nome a esta regra.

É isso aí. Agora outro PC e celular conectados na mesma rede podem acessar os sites locais. Vamos começar o desenvolvimento.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.