This could belong on Super User, but I thought this place was more appropiate.

I want to run Apache in my computer and want to make it available to the outside world to test a couple things. Apparently, I have to go into my router's (a TP-LINK TD 8910G) settings and forward port 80 to my PC's IP. So far so good.

Thing is, since the router uses a web based interface and it's kind of stupid, it told me that since I was using port 80 for this, I should access its settings through port 8080. Maybe it can't detect requests coming from the LAN, I don't know. Point is, now neither port can't access the configuration, and I can't access Internet. Specifically, trying to access anything (including, the router's settings) through port 80 turns up a blank page (maybe if I had the server running in my computer I'd get something, but I don't want to risk trying, I had to reset the router and restore the settings), and port 8080 gives a "Can't establish connection" error in Firefox (and similar ones in other browsers).

Is there a way to configure the router to not redirect requests coming from inside the network?

I'm a beginner with this stuff, so please try to explain in a simple way. If this is more appropiate in Super User, I'm sorry.

closed as off topic by voretaq7 Aug 31 '12 at 16:02

Questions on Server Fault are expected to relate to server, networking, or related infrastructure administration within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Definitely a superuser thing, IMO. – womble Sep 9 '09 at 2:19
  • Given the router that you are using, this is def. a question for SuperUser – Mark Henderson Jan 6 '10 at 1:08
  1. Make sure that the router's web-interface is set to not listen on the external interface. This can screw things up if it is listening on all interfaces.
  2. You should set the router to only forward packets coming from the external interface. So, the source interface should be just the external one.
  3. Alternatively, set your web-server as a DMZ device instead. This will forward all packets from the internet to your server on all ports.
  4. Alternatively, use a friendly router that runs dd-wrt instead and configure it from dd-wrt, which is quite powerful.

Before i do anything else, i'd check if my ISP blocks port 80- a good many do, and you're not going to get any further if yours does.

While common wisdom is to use port 8080 as an alternate port, i don't- i use a random port such as 9120. Keep the server listening to port 80, and forward from the port you want, to 80.

Test it with an 'outside' connection - tor helps - such as with operator since it helps you ensure the site is accessable outside the lan. try both ports - domain.name:port/path/ is how you connect to a non standard port.


Any modem/router should be able to port forward port 80 regardless of what it listens on for the management of router(its web interface) although having your router not respond to outside(internet) requests for its management on port 80 is prudent. some routers let you change it to a random port like 8181 etc but not all. check and see if it is possible on yours. what your router was telling you is that you have currently configured it to present you with its management interface from the internet on port 80 if you want to forward it you should then change its management interface to be presented on port 8080 instead or better still just turn it off and you can still manage it from inside the network.

forwarding the port means packet arriving on your public ip (internet interface on router) will get delivered to the apache box you are setting up, simple as that. request has to be initiated by outside of ofcourse. internally(accessing it) you specify the address anyway for the box remember. Again i would recommend forwarding a non standard port from your router to your apache box's port 80 which would mean outside your network you will have to access it like this: myapacheserver.net:8283 if you chose to forward port 8283. this is to safeguard you against millions of botnets and port scanners that will scan your ip for commonly known services which includes port 80 internet traffic. Just a good practice but might not be what you want to do.


In this case,I believe whether or not be able to distinguish traffic sourced from inside or outside to the wireless access point port 80 depends on your wireless AP's capability. As you said in the question, the web UI is a bit stupid and sometimes doesn't provide all the customized solutions to us.

Theoretically, this is obviously possible by simply judging from the source IP address of the datagram and some relatively advanced or self-made linux routers may support this, but in this case you will need to check whether web interface of the router you are using provide this sort of configuration.

If not, here are 2 work around that may help :
1. Choose to map to a different port than 80 for the web server (provided that you don't need to make your server public, otherwise you have to explicitly tell them the port you are using).
2. If you don't need to manage your wireless AP very often, then map them to port 80 doesn't really hurt that much i think. You should probably double check from their user manual to which port address the original port 80 traffic is altered to. If this still doesn't work, then think of resetting the router.

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