Cannot change GUI configuration settings

Hi,

I recently installed syncthing on Debian on a free tier google cloud vm. I installed syncthing v1.2.2 via packages, set-up a syncthing user and group and it runs via systemd the GUI is proxied via nginx. It was working flawless; I added devices and folders without problems.

I recently upgraded to v1.3.0 via packages. I added the device ID of this server on a new syncthing server and when I try to accept the invitation the GUI responds with: “Connection Error. Syncthing seems to be experiencing a problem processing your request. Please refresh the page or restart Syncthing if the problem persists.” I discovered I get the same response when I try to adjust anything in the settings, such as set the GUI theme to dark, or add a folder. Apart from this syncthing is syncing current folders with current devices without problems.

I tried:

  • Because systemctl status gave a warning “The unit file, source configuration file or drop-ins of syncthing@syncthing.service changed on disk.” (I think due to the pkd upgrade): sudo systemctl daemon-reload
  • restart syncthing
  • restart vm

I am new to working with linux and commandline. After installing syncthing a few times on different free cloud providers I am becoming more comfortable using the commandline and I think I made a proper installation on this vm.

Thanks for taking the time to read through and I hope someone is willing to help me out a bit.

Check js console for errors, I suspect there will be some complaints there, about a race condition someone reported.

Actually having checked, I can’t see under what circumstances the race condition would exist, but regardless, the truth lies in your javascript console.

I’ve had some problems running syncthing behind nginx until I adjusted some proxy timeouts (and possibly buffers, not sure).

I activated the developer console in chrome.

When I access the GUI it throws the following error (replaced my https domain with domain):

  • angular.js:9912 GET domain/rest/system/upgrade 500 (Internal Server Error)

Once I try to accept the device:

  • angular.js:9912 POST domain/rest/system/config 413 (Request Entity Too Large)

  • angular.js:9912 POST domain/rest/system/config 413 (Request Entity Too Large)

  • syncthingController.js:178 HTTPError {data: " ↵413 Request Entity Too Large<…disable MSIE and Chrome friendly error page --> ↵", status: 413, config: {…}, headers: ƒ}

  • multiple errors: syncthingController.js:561 refreshErrors {errors: null}

So both when accessing the GUI as well as when trying to do something that changes its configuration, an error emerges from angular.js 9912: xhr.send(post || null); in the function: function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDocument)

I copied the whole content of the 413 error: angular.js:9912 POST domain/rest/system/config 413 (Request Entity Too Large) (anonymous) @ angular.js:9912 sendReq @ angular.js:9713 serverRequest @ angular.js:9425 processQueue @ angular.js:13337 (anonymous) @ angular.js:13353 $eval @ angular.js:14589 $digest @ angular.js:14405 $apply @ angular.js:14694 (anonymous) @ angular.js:21724 dispatch @ jquery-2.2.2.js:4755 elemData.handle @ jquery-2.2.2.js:4567

EDIT: I will play with my nginx settings first then Nummer378

EDIT2: Thanks for the quick response here! It was indeed one of my nginx settings, from a website about hardening nginx I had added the following: client_body_buffer_size 1k; client_header_buffer_size 1k; client_max_body_size 1k; large_client_header_buffers 2 1k; After removing this the GUI is working fine again. I do still get the 500 error of the rest/system/upgrade, but I can add and remove devices again. Thank you very much!!!

1 Like

500 during upgrade is expected if upgrades are disabled at compile time.

1k (which is 1024 characters) is way too low for a json config.