I am running a proprietary Windows application which functions like a server. You install the program, and then it broadcasts itself over port 13083. The program is web-based, so it's accessed entirely through the browser.
- If I enter
http://localhost:13083
in the address bar, the program loads successfully. ✓ - If I enter
http://127.0.0.1:13083
in the address bar, the program loads successfully. ✓ - If I enter
http://192.168.1.133:13083
in the address bar, the program does not load. ✗
(My computer's IP address on the LAN is 192.168.1.133.)
My theory is that this proprietary Windows application is looking at the host request and only reacting if it sees either "localhost" or "127.0.0.1". This is unfortunate, because I'd really like to access the same program from another computer on the LAN, without having to install the program twice. But since I must type out 192.168.1.133 on the second computer in order to get there, I'm wondering if there's some magic that can be done to make that request look like it's asking for something else.
My question: is there some way to configure my router so that requests from another computer on the LAN to 192.168.1.133 will make it appear like they're trying to access 127.0.0.1? Or is that pretty much impossible? I'm kind of thinking it will be impossible but still thought I'd ask.
It's not the problem of your router. That program is listening on 127.0.0.1. Even if your router fakes the 127.0.0.1 IP address, your system will drop the packets for security, since 127 is the reserved private address segment for local host.
I suggest either change the setting of the program, or establish a local port forwarder proxy listening on 192.169.1.133 to forward all traffic to 127.0.0.1.
You may use "socat".
What behavior do you get when it does not load -- connection refused, connection timeout, or a 403 Forbidden page? If it's either of the first two, it's likely that the server software here is setting up a listen socket that is bound specifically to localhost (127.0.0.1). You can verify by running netstat:
Here, some server listening on port 5152 accepts connections only to the loopback address (localhost), where the server on port 445 will listen on all NICs on this machine. Most packages will allow you to configure the listen address in some way; those that default to localhost-only tend to do so to make sure you read the config file (and hopefully documentation), often as there are other things to configure to properly use the software.
Does the program have a configuration file? There should be a listening address and port in the configuration settings somewhere. The IP would need to be changed to listen on the host systems IP and not the localhost or 127.0.0.1 address as they are restricted to local access if those are set.
With the program name I would be able to help in more detail.
Cheers.