It may be your ISP.
It is difficult to figure that you can access port 80 through your router, but not connect directly. It may be your ISP does not allow any routing for more than one ip address per customer. That is a possibility. I have a static public ip connection like that. If I get a dhcp issued ip, I can't connect to that ip from the internet.