[Resolved] "Expected 1 certificate, got 2" error


I’m running syncthing on a Synology NAS and have a nginx proxy (using Nginx Proxy Manager) which provide a Let’s Encrypt certificate. Result is something like this:

https://sync.domain.me:8000 ->

I want to configure my laptop’s to directly connect to my NAS’s syncthing instance, but when I set tcp://sync.domain.me:8000 under Addresses field of the configuration I got this issues:

2020-12-15 14:14:36 dialing XXXXXXX tcp://sync.domain.me:8000 error: expected 1 certificate, got 2
2020-12-15 14:14:36 failed to connect to XXXXXXX  10

Can someone help me on this ? the firewall are quite restrictive I cannot use 443/22000 ports My Let’s Encrypt certificate seems totally fine, I can access WebUI without issues Thanks! N0amir

You’re telling Syncthing to connect to the other side’s GUI port (8384, behind nginx) rather than the sync port (22000). You want port 22000, not 8384 (8000), and no nginx in between.

Sorry I’m not sure to fully understood I cannot use port 22000, it’s blocked by company’s firewall. I cannot use ports 80/443, it’s blocked by my ISP.

I also tried to use stream feature of nginx to redirect all 8080 to 22000 tcp://domain.me:8080 -> But I receive the error i/o timeout

You cannot have the sync port behind nginx. If your firewalls don’t allow a direct connection between the devices in either direction you can use relays, which should happen automatically after a while.

Thanks calmh! I finally made it works, your message put me on the way. You can use stream feature of nginx to do this (http://nginx.org/en/docs/stream/ngx_stream_core_module.html)

I finally did this configuration: tcp://domain.me:9000 ->

The final result on Nginx Proxy Manager if someone is interessted to do the same:



Oh, so you can in fact have it behind nginx because it supports a pure port forwarding mode. Nice. TIL.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.