Do you have a NAT for port 80 to the internal webserver IP? The packets hitting port 80 on your external IP need to know the way to the internal port 80 on your webserver.
Whats the error message exactly? DNS could culprit, have look at your domain with this tool here http://www.dnsstuff.com/tools
The 172 up don't withing the private IP range is it?
You should also check you can access the site from outside your network. It will act differently from inside the network.
I'm a little lost at what your setup is as you seem to be mentioning multiple unrelated things (hosts file etc shouldn't be needed and it's not clear which hosts file your editing)
As stated prior, I think we need more specific information or at least clarification on things regarding your firewall rules, if you have port 80 forwarded to your internal host, etc. Setting up NAT rules and setting up port forwarding rules are both required to host services behind NAT.