I think I may be having a similar issue.
My Basic setup (thanks to CG-NAT)
Zoneminder running on Ubuntu Server 18.04 at 192.168.7.133 local IP
For the "Server" in the ZM Config, it defaulted to 192.168.7.133 so I left that.
From that same device I have a reverse ssh tunnel forwarding port 80 through serveo.net so I can access my ZM instance form outside my home network.
On my local network, everything works fine; capturing motion, viewing Montage, and playing back Events.
Outside of my local network, it ALMOST works fine. I can access the console and modify settings, but the Montage View and the Event Viewer are not working. It seems that the live streams for Montage and the Media Source URLs for the Events all point to the "FULL" path with the local IP:
Code: Select all
http://192.168.7.133/zm/cgi-bin/nph-zms?width=0%25&height=100%25&scale=100&mode=jpeg&maxfps=10&monitor=4&user=<redacted>&connkey=<redacted>&rand=<redacted>
In my experience, most websites use
relative links for media sources and links
internal to the server, rather than full paths. Is there a reason this is set up this way? If the ZM Web Application Root is
/zm, can it not just pull the media from
/zm/cgi-bin/nph-zms....... instead of the full URL with the server IP? Is there a setting somewhere I'm missing?
I have already added a line to my /etc/hosts on my Ubuntu/ZM Server that points 192.168.7.133 to camserver-zm hostname and then tried plugging in camserver-zm for the Server Config in ZM, and everything still works locally but not from outside my LAN.
This makes it really difficult to make any use of this application from outside my network, with CG-NAT that I have no way around. I can update my "Server Config" and change it from 192.168.7.133 to the url of my reverse SSH tunnel, and then it does indeed work, but that makes it reach out over that tunnel even when accessing locally, too, which is not ideal to say the least..