通过群晖的 QuickConnect 访问第三方应用
QuickConnect 是群晖自带的一个局域网穿透的服务,大概原理是:
DSM连接到群晖的服务器上进行注册并建立一条TCP通路,外网用户在访问QuickConnect时,可以通过这条TCP通路回来。这条TCP通路,其实是连到DSM的 Nginx 服务上的。
既然是连到 Nginx,那么修改 Nginx的反向代理配置,就能访问其他的第三方应用了。
通过查看 /etc/nginx/nginx.conf
配置中 5000
、5001
的监听端口的配置,发现 Nginx 会读取以下位置的配置:
include app.d/dsm.*.conf;
include /usr/syno/share/nginx/conf.d/dsm.*.conf;
include conf.d/dsm.*.conf;
前后两个位置的配置,在修改反向代理的配置后会重置,只有 /usr/syno/share/nginx/conf
是永久保留的。
所以,在 /usr/syno/share/nginx/conf.d 目录下创建名为 dsm.*.conf 的配置文件。
我这举两个例子:
- transmission 配置
dsm.transmission.conf
location ^~ /transmission {
proxy_pass http://127.0.0.1:9091$request_uri;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
- emby 配置
dsm.emby.conf
location ^~ /emby {
proxy_pass http://127.0.0.1:8096$request_uri;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
访问效果:
最后
配置完成后执行以下两个命令测试和重新加载配置
- nginx -t #测试配置
- nginx -s reload #重新加载配置