放到 HTTPS 反向代理后面
浏览器只在 HTTPS 地址或 localhost 下开放麦克风和推送通知。用 http://192.0.2.10:7575 这类局域网地址打开 nSIM 时,管理功能都能用,但网页通话和浏览器推送用不了。按这一页给 nSIM 配一个 HTTPS 入口。
- 一个指向反向代理主机的域名,以及它的 TLS 证书。下文用
nsim.example.com代替。 - 反向代理主机上装好了 nginx,并且能访问 nSIM 的 7575 端口。
配置 nginx
Section titled “配置 nginx”-
可选:nginx 与 nSIM 在同一台主机上时,让 nSIM 只在本机监听。这样别人无法绕过代理直接访问。在配置文件里把端口改成:
server:port: "127.0.0.1:7575"然后重启 nSIM。
-
在 nginx 里新增一个站点:
server {listen 443 ssl;server_name nsim.example.com;# ssl_certificate 与 ssl_certificate_key 按你的证书填写location / {proxy_pass http://127.0.0.1:7575;proxy_http_version 1.1;proxy_set_header Host $host;proxy_buffering off; # 实时推送用长连接,不能缓冲proxy_read_timeout 1h; # 长连接不能被代理超时掐断client_max_body_size 512m; # 上传备份包恢复时需要}}nSIM 只能挂在域名的根路径上,不支持
/nsim/这样的子路径。 -
检查配置并重新加载:
终端窗口 nginx -t && systemctl reload nginx
- 在浏览器里打开
https://nsim.example.com,登录。 - 打开「诊断」页查看日志。新日志会持续出现,不需要手动刷新页面。
状态一直不动、来电不弹出时,多半是代理缓冲了长连接,检查 proxy_buffering off 那一行。
放到反向代理后面的变化
Section titled “放到反向代理后面的变化”- nSIM 不读取代理传来的
X-Forwarded-For。审计日志里记录的来源是代理的地址;按来源地址的登录限制,也会把所有访问者算作同一个来源。 - 网页通话的声音不经过反向代理。浏览器直接连到 nSIM 主机的地址,nSIM 也不使用 STUN 或 TURN 中继。所以只有浏览器能直接连到这台主机时,网页通话才有声音。例如在同一局域网,或通过 VPN 连接。主机防火墙要放行这类 UDP 连接。