Sounds like you need to do some packet captures at both the client and the server end. See if the traffic is even going across the router. You can test the connection and capture a good traffic sample set by opening a command window and telnet to port 80 at both the IP address and DNS name of the webserver host. If you capture traffic that does not show the 3-way handshake (SYN, SYN/ACK, ACK) but shows an SYN, ACK/RST pattern, you know that somehow port 80 is not being properly forwarded to the internal system. You really should firewall the internal host if you are permitting any external access to the system. Your system WILL be scanned and break-in attempted. If the system is compromised, it can then be used to attack other systems on your network even with the traffic coming in ONLY over port 80. It would be best to put a web host in some type of DMZ or ensure that it is a bastion-host running only web services and no other services.
You could also help us give better advice if you give more details about the router or firewall used at the edge of your home network. Someone could give you good advice about port forwarding or security settings.
In the IT trenches? So am I – read my IT-Trenches blog