Windows Firewall has port 80 open but prevents Apache from making connections

I have a Windows 7 machine serving a very few (but important!) pages. I have an exception that allows any traffic to port 80*, but Apache 2.2 still can't serve pages (though I can see them from the machine itself). If I disable the Windows Firewall entirely, though, I can ping the box and load pages.

What else do I need to configure so that Apache can do its job?

* Actually, the same thing happens even if I change the exception to "all ports" rather than just 80.


Whether or not port 80 is open on your firewall, doesn't mean that ping will start working if Apache is running correctly. Ping uses ICMP which is a protocol of it's own that needs to be opened on the firewall in order to receive ping replies from your machine. So don't count on ping to verify if your apache configuration/firewall configuration is working.

In response to your firewall rule for tcp 80, please go to your rule's properties and check if all 3 checkboxes (Domain, Private, Public) are checked, and if not check them. enter image description here

Here's a HOWTO with the exact steps you need to take in order to open port 80 on Windows 7: link

Update:

Please also check if you're not blocking the apache process itself with Windows Firewall.
1. Go to Control Panel
2. Select System and Security
3. In the Windows Firewall section, select Allow a program through Windows Firewall.
enter image description here
4. Unchecking the box to the left of the application name disallows it from accessing network resources, while checking it allows access.
enter image description here
If Apache is not listed, you can click the Allow another program… button to add it and then check the boxes under Home/Work and Public.


If disabling the firewall entirely addresses the issue, but your exception rules do not, then I would venture to say that your exceptions are faulty.

According to Microsoft, the first step in troubleshooting firewall issues is to verify the active profile (Public, Private or Domain).

The first step in troubleshooting Windows Firewall problems is to verify which profile is active. The Windows Firewall with Advanced Security is a network location aware application. As the network locations that the computer is connected to change, the Windows Firewall profile changes. The profiles describe the Windows Firewall settings and rules that are applied depending on the network location type of active network connections.

So one possiblity is that you made the right rule but in the wrong profile.

Hope that helps.


Check service "Branch cache" and stop it if running.


To add to all of the answers above what i had to do extra is go to control panel, firewall, advanced settings on the left, and in inbound traffic i right clicked every rule that's named apache and activated it aswell as right clicking it, clicking on its properties and there click the Advanced tab and make sure you check "Private" "Public" and "Domain" for every rule that u find in the inbound list don't forget