syncthing可通过配置tls证书启用https:一、用openssl生成自签名cert.pem和key.pem并修改config.xml中与路径;二、用win-acme申请let’s encrypt证书,指向fullchain.pem和privkey.pem;三、通过caddy等反向代理实现http到https强制重定向。

如果您已成功部署 Syncthing 并可通过 http://127.0.0.1:8384 访问管理界面,但希望启用 HTTPS 加密访问以提升通信安全性,则需手动配置 TLS 证书。Syncthing 原生支持 HTTPS,但不内置证书颁发功能,必须提供有效的 TLS 证书文件(cert.pem 和 key.pem)并正确指向其路径。以下是实现 HTTPS 安全访问的具体方法:
一、使用自签名证书启用 HTTPS
该方法适用于本地测试或内网环境,无需第三方证书机构参与,通过 OpenSSL 或 Syncthing 自带工具生成可信度可控的证书对。Syncthing 将使用该证书加密 GUI 管理界面与浏览器之间的所有通信。
1、打开命令提示符(管理员权限),进入 Syncthing 安装目录下的 bin 子目录(例如 C:\Program Files\Syncthing\bin)。
2、执行以下命令生成自签名证书和私钥:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650 -nodes -subj "/CN=localhost"
3、确认当前目录下已生成 cert.pem 和 key.pem 两个文件。
4、关闭正在运行的 Syncthing 进程(任务管理器中结束 syncthing.exe)。
5、在 Syncthing 配置目录(默认为 %LOCALAPPDATA%\Syncthing\config.xml)中,用文本编辑器打开 config.xml。
6、定位到
7、保存 config.xml,重新启动 Syncthing。此时 Web 界面将仅响应 HTTPS 请求,地址变为 https://127.0.0.1:8384。
二、使用 Let’s Encrypt 免费证书启用 HTTPS
该方法适用于需对外提供 HTTPS 管理界面的场景(如通过内网穿透暴露至公网),可获取由受信 CA 签发的免费证书,避免浏览器显示“不安全”警告。需借助 acme.sh 或 win-acme 等 ACME 客户端完成自动化申请与续期。
1、下载并安装 win-acme 工具(适用于 Windows),运行 wacs.exe。
2、选择 “Create new certificate” → “Manually input host names”,输入您用于访问 Syncthing 的完整域名(如 syncthing.example.com)。
3、选择验证方式为 “HTTP challenge”,确保 Syncthing 当前未占用 80 端口,或临时配置反向代理转发 /.well-known/acme-challenge/ 路径至 win-acme 的验证服务。
4、完成验证后,证书将保存至默认存储位置(如 C:\Users\{user}\AppData\Roaming\win-acme\httpsacme-v02.api.letsencrypt.org\{domain})。
5、在 config.xml 的
6、重启 Syncthing,使用 https://syncthing.example.com:8384 访问,浏览器地址栏将显示安全锁标识。
三、强制重定向 HTTP 到 HTTPS
为防止用户误用非加密连接,需禁用纯 HTTP 访问并强制跳转。Syncthing 本身不提供重定向功能,须通过前置反向代理实现,例如使用 Nginx 或 Caddy 作为 HTTPS 终结点,并将请求代理至本地 127.0.0.1:8384(HTTP)。
1、安装 Caddy(推荐 Windows 版本),解压后获得 caddy.exe。
2、新建 Caddyfile 配置文件,内容如下:
syncthing.example.com {
reverse_proxy 127.0.0.1:8384
}
3、确保系统防火墙允许 Caddy 使用 443 端口,并关闭 Syncthing GUI 的监听地址(在 config.xml 中将
设为 127.0.0.1:8384,禁止 0.0.0.0 监听)。4、运行 caddy.exe,Caddy 将自动申请证书并启用 HTTPS,所有 HTTP 请求均被 301 重定向至 HTTPS。
5、此后仅需通过 https://syncthing.example.com 访问管理界面,无端口号且全程加密。











