前记
bitwarden_rs
一直是安装在群晖上的 Docker
中的,对外访问也是通过群晖应用门户程序->反向代理
反向代理加路由器端口转发
但是有一个问题,就是群晖 UI
界面的反代没有办法编辑配置,也就没有办法利用 bitwarden_rs
的 WebSocket
自动推送更新
解决
想到的解决方案有两个,第一是通过 Docker
再装一个 Nginx
来做反代,第二是通过群晖自身的 Nginx
来做反代;最后选择了通过自身 Nginx
来做反代
Nginx 配置
/usr/syno/etc/certificate/system/default/
为群晖安全性->证书
上传的默认证书的存储位置
8888、3012
端口为 bitwarden_rs
的 80、3012
映射到群晖对应的端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name xxx.com;
ssl_certificate /usr/syno/etc/certificate/system/default/fullchain.pem; ssl_certificate_key /usr/syno/etc/certificate/system/default/privkey.pem;
#ssl_session_cache shared:SSL:50m; ssl_session_timeout 4h; ssl_protocols TLSv1.2 TLSv1.3; ssl_buffer_size 4k;
if ($scheme = http) { return 301 https://$host$request_uri; }
location / { proxy_pass http://127.0.0.1:8888; proxy_set_header Host $host:$server_port; 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_redirect http:// https://; }
# bw WebSockets location /notifications/hub { proxy_pass http://127.0.0.1:3012; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
# bw WebSockets location /notifications/hub/negotiate { proxy_pass http://127.0.0.1:8888; }
error_page 403 404 500 502 503 504 @error_page;
location @error_page { root /usr/syno/share/nginx; rewrite (.*) /error.html break; allow all; } }
|
链接
将配置文件链接到 /etc/nginx/sites-enabled/
ln -s /volume1/docker/nginx/xxx.com.conf /etc/nginx/sites-enabled/
重启
最后只需要重启 Nginx
即可
sudo synoservicecfg --restart nginx
题外话:
利用第三方 FFMPEG 解码器让群晖的 Video Station 完美支持 DTS、EAC3、TrueHD
参考 01
参考 02