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.

So here I'm after investing days of effort into it. I have SVN Apache Edge running on my machine on top of Apache. I want to access it (check-out/check-in) from a remote machine. My machine is behind a normal router and has a dynamic IP. Here's what I have achieved:

  1. Registered my machine using a DDNS service and got a URL.
  2. Enabled port forwarding (port 8085 forwarded to my machine's port 80) on the router.
  3. I'm pretty sure SVN/Apache are listening on port 80, becuz I can type http://localhost in the browser (on my machine) and get a list of repo directories.
  4. But when I type http://My_DDNS_URL:8085 on a remote machine, it takes almost forever waiting for a response from my machine and ends up in time-out (I think).
  5. I can ping both my dynamic IP address as well as my URL (assigned by DDNS service) from the remote machine.

What am I doing wrong here?

share|improve this question
    
Is port 8085 being forwarded through the router to the target server? –  Ƭᴇcʜιᴇ007 May 7 '13 at 16:06
    
Is there a reason you are using SVN? Mercurial, Git etc. are good pieces of software and are easier to share changes whether using a free hosted service or running a server yourself. –  syserr0r May 7 '13 at 16:18
    
I have been working with SVN for quite some time now. Switching to another versioning system may involve some learning curve, which I want to avoid at this point in my running project's schedule. –  dotNET May 7 '13 at 17:19

1 Answer 1

up vote 1 down vote accepted

The problem could be in one of several places. The three most likely are:

  • Apache is only listening on localhost (instead of, say, 192.168.1.x or 0.0.0.0)
  • The port-forwarding isn't working/setup properly (e.g. port 8085 is forwarded to 192.168.1.12 yet your PC has changed to 192.168.1.14 since it last rebooted)
  • Your modem/router is not doing NAT-loopback (normally if you want to access your service from inside your network you connect to http://192.168.1.x and if you are outside you use http://1.2.3.4 -- NAT-loopback redirects requests from inside the network to its external address back into its internal address [e.g. to 1.2.3.4 into 192.168.1.x] (so the external address still works internally).
share|improve this answer
    
Thanks. I also found that I can do http://My_DDNS_URL (without the port number) from the remote machine and that would take me to the router's home page (the same page that I can access by typing 192.168.1.1 on my local machine). Does that help in eliminating any of the above possibilities? –  dotNET May 7 '13 at 15:36
    
It sounds as if there is no NAT-loopback feature on your router (or it isn't enabled). From what I understand it is not very common. The easiest way to check is to get somebody outside your network to connect -- if they can (and you can't) then it's NAT-loopback issue. NAT-loopback is more of a convenience feature; really you should be connecting to localhost (or whatever IP/hostname your computer has) when you are inside your network. –  syserr0r May 7 '13 at 16:11
    
As a very basic test, if you don't have access to a server or computer on an outside network, you can go to something like ShieldsUP!, enter the external port number (i.e. 8085) and click User Specified Custom Port Probe. It won't tell you what is listening (i.e. Apache) but it will tell you if outside people can connect –  syserr0r May 7 '13 at 16:15
    
ShieldsUP! tells me that my port 8085's status is OPEN with unknown protocol/application. How does that help? –  dotNET May 7 '13 at 17:14
    
I have also confirmed by reading the conf file of Apache server that it is listening on port 80 on all interfaces (by comparing it to the doc link you provided above). So #1 is not the issue here. –  dotNET May 7 '13 at 17:35

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.