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

apache-2.2firewallwindows 7

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.

Best Answer

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.

Related Topic