Port is open, but can't access it via external IP address

I have RavenDB running on localhost:8080. I would like to make it externally accessible, just as a test (ignore security concerns for now).

To do so, I configured my router to forward external port 8080 to internal port 8080 of 192.168.0.101 (which is the internal IP address of my machine, as determined by the IPv4 entry of ipconfig /all).

According to an external port checker, port 8080 is open (external IP is masked):

enter image description here

However, when I go to ExternalIp:8080, I'm unable to connect. In contrast, InternalIp:8080 works fine.

Given that the port appears to be open, but I can't connect externally, are there any tools or ways of diagnosing where the blockage is happening?

Additional Possibly Relevant Info

  • I have Windows Firewall, but turning it off makes no difference.
  • Router is Archer C5, modem is Motorola SB6121.
  • My ISP only blocks a couple ports, and 8080 is not one of them.
  • My external IP is dynamic, but changes very infrequently, and I made sure to use the right one :)

Solution 1:

There are two possible issues:

  1. You need RavenDB running on 192.168.0.101:8080 (or 0.0.0.0:8080). If it's running on localhost, it's not accessible from outside the machine.

  2. You need to either access it from outside your LAN or use a router that supports hairpinning. Port forwarding only works from outside of the LAN. Many routers do hairpinning automatically. This is considered best practice per RFC 5382, but many routers still don't.