I have a Linksys WRT54GL router and a home network of two PCs. What I want is one of the PCs to be a web server visible from the world on my static IP. It is a WindowsXP PC with IIS 5.1 setup and running. I've setup port forwarding for my router only for port 80, but for some reason nothing works. When viewing localhost at the server PC through the browser (HTTP) it correctly displays the website setup in IIS. If the same thing is requested through my static IP visible from outside it doesn't work. Ideas?

Do I need to configure something special on the server PC, apart from the router itself?


Most likely your ISP is blocking port 80 inbound since they don't want you running web servers on a home connection. Try forwarding another port (like 8888) on the public side to port 80 on the local side and see if that works. If it does, that's your problem. And really, there isn't much of a workaround other than calling your ISP to ask to be unblocked but more than likely they're going to ask you to upgrade to a business internet plan.

  • It's not this, confirmed by my ISP. – Slavo Aug 25 '09 at 14:04

I agree with Kevin, the only other thing I would also check would be to make sure that your antivirus/firewall program isn't blocking traffic from anything outside of your local LAN.


Does it work if you make the request to the static IP port 80 from outside your network? Some random other spot on the Internet? You can use something like the W3C validator to test. If so, then everything is working as well as it will.

The problem is that you are trying to access your external IP address from your internal network. Some router firmware doesn't bind that address on the LAN side, or binds it but doesn't apply the port forward rules to it. My memory is the Linksys firmware is like that. It's a nuisance. Two workarounds.

  1. Keep developing against localhost or your local IP address (192.168... probably).
  2. Install alternate firmware on your router. I like Tomato and can verify that it does let you use the external IP address from the internal network.

One thing I would be trying first of, is accessing the website from another PC connected to your LAN on your internal address of the webserver.

Things often work on Localhost but then dont work on machines on the same network segment, so befor eyou start mucking around with your router, just make sure you can access it internally.

Another useful test, on IIS is to enable FTp to a random port and try to connect from the outside (having forwarded in your router properly). This just helps to make sure connectivity is all the way through.

Also, probably not for you, but others might find WhatIsMyIp useful for determining their correct public IP Addres

  • I tried exactly that and it didn't work. Other machines on the network cannot access my machine, although I don't know what I missed. No firewall, IP settings are fine, etc. Ideas? – Slavo Aug 25 '09 at 14:05

Try putting that particular machine in the DMZ. If it still doesn't work, I think your ISP may be blocking port 80.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.