Internal server errors

I’m getting 500 Internal Server Errors on the /rest/system/upgrade calls that happen periodically in the web interface. This is probably due to the calls being proxied via a web server, however the rest of the web interface seems to be working fine.

The proxying uses nginx with different subdirectories pointing to different instances of syncthing, like this:

location /server1/ {
    proxy_pass http://server1.vpn:8384/;

location /server2/ {
    proxy_pass http://server2.vpn:8384/;

I tried looking around to find syncthing logs corresponding to the internal server errors, but I can’t find them! The only logs I can see are to do with data syncing and not the web interface. Please can someone tell me where I can find the relevant logs so that I can post the callstack?

That endpoint is expected to return 500.if upgrades were disabled at compile time (which they are for packages installed via apt etc).

I’m using the Debian package, so that would explain that. However it seems a strange choice of return code to be deliberately returning as it’s not an internal server error. As the client is asking for something that the server’s refusing to do something like 403 Forbidden would seem more appropriate to me.

Anyway, when directly accessing the Syncthing web interface (and not going via the proxy) it seems that /rest/system/upgrade is never called. Therefore something about the proxying must be causing that to be called by the client side JavaScript when it otherwise wouldn’t.

I don’t think that should have any influence to be honest.