[Nginx]反向代理 syncthing,使其gui支持https访问
原因
docker里面装了个syncthing,通过映射卷的方式,把本地的一个目录,加入到了映射中,使这个目录可以作为同步的目录。 但是发现在使用的过程中,直接通过域名+端口访问的方式,没有https的保护,有一定的中间人攻击风险,于是研究了下,怎么设置nginx反向代理,使Syncthing的web gui界面支持https形式的访问。
Syncthing
下载Syncthing
因为我这里是用的docker,所以直接上docker的版本。
sudo docker pull syncthing/syncthing:1.12.0
启动Syncthing
sudo docker run -d -p 8384:8384 -p 22000:22000 --name djc8syncthing --network=djc8net -v /djc8/syncthing/st-sync:/var/syncthing syncthing/syncthing:1.12.0
启动起来后,查看:http://域名:8384,设置用户跟密码,设置同步的目录(建议不修改,我这里已经设置为/var/syncthing
了,会对应到宿主机的/djc8/syncthing/st-sync
目录,如果你调整了,对应的映射卷也要加上!) 到这里Syncthing就好了。
Nginx
这里不多说Nginx的安装方式,我已经装好了,所以添加一个vhost到系统中,并且这个vhost有了一个https的证书(免费的证书申请,看这里) 服务如下:
server {
listen 80;
server_name sync.djc8.cn;
rewrite ^(.*)$ https://$host$1 permanent;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8384/;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
}
server {
listen 443;
ssl on;
ssl_certificate cert/sync.djc8.cn/sync.djc8.cn_bundle.crt;
ssl_certificate_key cert/sync.djc8.cn/sync.djc8.cn.key;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
server_name sync.djc8.cn;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8384/;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
}
其中proxy_pass http://djc8syncthing:8384/;
,配置为你的syncthing内网访问的地址,这时候,防火墙就可以把这个端口关闭了,不需要这个端口再监听了。 ssl_certificate cert/sync.djc8.cn/sync.djc8.cn_bundle.crt;
以及 ssl_certificate_key cert/sync.djc8.cn/sync.djc8.cn.key;
是使用nginx容器中的路径,证书以及key文件。 建议使用1年的这种证书,不需要频繁申请。 之后重启容器(nginx)即可。使用https访问Syncthing的gui界面。
参考
本文来自:[Nginx]反向代理 syncthing,使其gui支持https访问-小码农,转载请保留本条链接,感谢!
- 本文标签: https nginx syncthing
- 本文链接: https://djc8.cn/archives/nginx-reverse-proxy-synching-to-make-its-gui-support-https-access.html
- 版权声明: 本文由小码农原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权