Reverse Proxy nginx w/ Channels DVR error and no Status on web interface

I am using a reverse proxy config w/ nginx, based on the @maddox 's configuration I found here:
https://community.getchannels.com/t/dvr-webgui-with-nginx-reverse-proxy/752/18 to access the web GUI. I have it behind a separate authentication schema, based on that advise as well.

The problem I'm running into is when I access it through the reverse proxy, I get javascript errors occassionaly like this: (replaced my public facing domain name with .XXXX below).

A Javascript error has occurred!

Please refresh the browser after reporting this issue on Channels Community or to [email protected].

Cannot read properties of undefined (reading 'toFixed')

tT1@https://channels.XXXX/admin/components/settings/Load.js:13
Lj@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:157
Ej@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:180
ti1@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:269
Jn1@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:250
K82@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:250
Mm@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:250
Kj@https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:243
https://channels.XXXX/node_modules/react-dom/cjs/react-dom.production.min.js:123
h6.unstable_runWithPriority@https://channels.XXXX/node_modules/scheduler/cjs/scheduler.production.min.js:18

I've also noticed that the activity status on the web GUI always reads 'Idle', even when a client is actively streaming content from the DVR server. I verified that accessing the web GUI via the internally facing IP displays the correct activity status.

Since that topic is about 5 years old on the nginx proxy, I figure it's possible that the configuration is missing some details to operate properly?

I submitted Diagnostic Logs for any extra details you might need. Here is the UID given to me: 9735056b-649b-4130-82c2-2a8fc105a35c

See this for the idle issue:

Well, that solved the idle problem, for sure.

But I am still getting the javascript errors popping up.

Sounds like one of the endpoints (/system) isn't making its way through? Does that url load?

going to https://channels.XXXX/system loads fine. It returns a jSON style response with all sorts of details about the system channels DVR is installed upon.

Does it contain an entry for "load"

Does the web UI work fine without the proxy? Are load number shown in the CPU info area

1 Like

I have not seen this javascript error without the proxy, no.
I see the "load" entries in the jSON, and I see the data reported in the web UI using the proxy (OS, CPU, RAM, NET all are populated just as they are in the non-proxied website).

I think I might have figured out the issue causing the javascript error to occur.
I think that my separate authentication method for access to my channels.XXXX domain is expiring the authentication session, and so it denies access to any of the paths. Instead of prompting me to re-authenticate, the javascript just throws the errors, since its not aware of the loss of authentication. I think that I correlated the last time this happened with entries in the log showing the set of webpage authorization denials.

I'm sure there are ways your javascript could handle this error to push me back to the authentication screen (by forcing a page refresh, for instance), but I accept that is beyond your scope.