Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm trying to set up an Apache Server to be accessed publicly.

I'm using a Netgear R4500 router hooked up to a Motorola SB6121 modem. I can access my server on my computer by typing in my IP address. After following the instructions to forward port 80 so I can access the server from other computers, it does not work (see image).

I get "This webpage is not available". I am forwarding to the IP address of my computer. Using this Network Port Scanner Tool, it says "80/tcp filtered http", which, as I understand it, means forwarding did not work correctly. In my Apache httpd file, I have:

ServerName 192.168.1.13:80

and

Listen 192.168.1.13:80

Anyone know what's wrong or have something I can try?


click to enlarge

share|improve this question
1  
What do you mean by 'other computers', computers in your home network? If it is an internal connection (behind router), you use the 192.xxx... address. For external (not behind router) use your ROUTER's IP address... Finally, make sure IIS is turned off, which it probably is since you are bound to port 80 without errors.. your HTTPD is started.. correct? –  ekaj Dec 18 '12 at 22:30
    
I meant external computers. I was using my Router's IP when trying to access my server. IIS is off. HTTPD is of course started with no errors. –  rphello101 Dec 19 '12 at 6:00

2 Answers 2

up vote 2 down vote accepted

Your port forwarding looks OK.

The problems can be:

  • firewall on your machine (it is on by default in windows). You need to open port 80
  • if you are trying to connect from outside, maybe your ISP is blocking port 80. This happens with some ISPs. Maybe calling them to ask is a faster solution than trying to find out. But if you open your firewall and can't reach your machine this is probably that. To test avoiding having apache or something different not working, try telnet your-ip 80 from an external machine and see if it answers.

Update: comments summary:

So you opened the firewall for port 80 and your ISP is blocking port 80. You have a few options:

  • Try asking your ISP to open the port if possible

  • Use an external port forwarding service that will receives the request on port 80 and port forward to your router on another (unblocked) port and then your router forward to your server. There are many services for that, paid and free I suppose. For DNS I use dnsexit.com, it's free and works well. I know they have port forwarding too but I think it is paid.

  • Another way could be using a VPN receiving the requests on the VPN end point and transfering to your server as part of the VPN traffic (so unblocked, using private IP) but I think this will be slower....

  • You can change the port (to 81 for example) on your router and forward to port 80 in apache without problem (or have Apache listening on port 81 easily) but this way the url to access your webserver will need to include the port like: http://www.mysite.com:81 for port 81. If changing port 80 to 81 on apache, you will need to change the firewall to open port 81 too (and close 80).

share|improve this answer
    
Alright I added an exception in my firewall which now allows me to type in my public ip address and access the server locally only. I am using Cox as my ISP and "for my protection" they do block port 80. What's my best way around this? Using something like WebHop or is there a way to change the port on Apache? –  rphello101 Dec 19 '12 at 23:18
    
Obs: couldn't find url forwarding service in Webhop site with a quick look but I didn't create an account so maybe they have it too. –  laurent Dec 20 '12 at 0:41
    
If that's all it takes, I'll just change the port. That's no big deal. As for my ISP, I just found it online. I didn't bother calling. Similarly, I just saw WebHop on a different question with a description of what it was. I didn't look into it at all. Thanks for the info –  rphello101 Dec 20 '12 at 5:45
    
I edited the answer including the previous comments –  laurent Dec 20 '12 at 12:30

Yes, if ipfingerprints reports filtered, then it didn't work.

Do you have a firewall on the machine with apache? Maybe only local access is allowed there.

Is there another firewall on the router that would disallow port 80 altogether (even as forward). Disallowing port 80 on input is normal, since you don't want to allow access to your router from the net.

If you tested your correct external ip address and have no other firewall/router in between your router and "the internet".


EDIT:

Since your provider seems to be blocking port 80 (=firewall between your router and "the internet") so you have to use an alternative external port at your router. 8080 ist the standard alternative http port.

You either have to get at least some webspace someplace (where you can place a redirect to your home server on another port) or you have to change your provider (or maybe they will unblock the port if you call their support, telling you would switch otherwise).

Unless it is okay to make every user/link to attach the port (http://address:8080/).

Your server can keep listening on port 80. You only have to change the port forwarding on your router.

share|improve this answer
    
So if I kept Apache listening on 80, what would my internal/external ports be when I forwarded it? –  rphello101 Dec 20 '12 at 17:09
    
external 8080 (start and end), internal 80 (start and end). You would be accessible at port 8080 from the outside world. –  JonnyJD Dec 20 '12 at 18:15

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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