I have multiple devices that are all behind a private network. I have a WAN facing server that I can call into. Is there any way for me to be able to send an HTTP request through the WAN server to a specific device behind the network? I have been looking at a reverse proxy and I think I am on the right track but as I have many devices that will be changing in and out I am not sure what the best way of doing that would be. Thanks for any help in advance.
You can use a reverse proxy to receive connections on a pre-defined port on the WAN interface and it will open new connections to the machines in the internal network (provided the WAN-connected server is dual-homed, that is, also has a connection to the internal network).
You could specify that TCP port 10000 will be forwarded to internal machine A, TCP port 10001 to machine B and so on.
For example, using a tool like socat:
socat TCP4-LISTEN:10000,fork TCP4:machineA,10000 socat TCP4-LISTEN:10001,fork TCP4:machineB,10000 socat TCP4-LISTEN:10002,fork TCP4:machineC,10000 ...
You could also use HAProxy, nginx and any other reverse proxy server to do this. The internal machines will get TCP connections that terminate on the reverse proxy.