Linux – Apache Web Server Works Locally Not Globally

apache-http-serverfedorainternet connectionlinuxwebserver

I have been at this for a while tonight and thought I would seek some help before I hit the sack. I have successfully downloaded Apache and can run it without any issues on a fedora 16 box acting as the web server. I was able to make pages that can be viewed locally.

To summarize

From the Fedora Box I can access my pages via a web browser at

  • 127.0.0.1 as well as its local IP address.

From a windows box on the same home network I can access the page from

  • its local IP address.

From both machines I can successfully ping the global IP address (provided by whatsmyip.org)

As far as I know the issue seems to be at the router. I had to reload a backup twice tonight because I kept breaking stuff (Remember folks, saving is FTW). Could any of the following issues with the router or web server be the problem? The following list sums up what I have attempted and whats enabled at the moment.

  • Currently the router has NAT enabled.
  • The router firewall is disabled
  • I have attempted port forwarding of port 80. I used the web server local address as the forward port
  • HTTP has been enabled in the linux firewall on the web server
  • The internet comes into the house as follows
    • ISP Provided Modem >> My personal Router >> Individual Device

Edit: According to my ISP Port 80 is blocked in the following fashion. Could this pose a bigger problem or is RedGrittyBrick's answer a way around it

  • Port = 80
  • Transport = TCP
  • Protocol = HTTP
  • Direction = Inbound

Best Answer

Port forwarding

When you set up port forwarding, you need to have three parameters correct:

  • the external port, usually 80 for HTTP.
  • the internal IP-address of the server, often 192.168.1.x
  • the internal port for HTTP service on the internal server, again usually 80.

ISP port blocking

Note that a web-server on an ADSL line will have poor performance and may break the terms of your ISP service - for this reason your ISP might block incoming traffic. Try setting the external port to a high number (e.g. 30080) leaving the internal port at 80 then give an external browser a URL http://<external IP>:30080/

Related Question