You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx Proxy Manager反向代理Reolink摄像头静态资源路径问题求助

解决Nginx Proxy Manager反向代理自定义路径下静态资源加载失败的问题

问题核心是Reolink摄像头返回的静态资源(JS、CSS等)路径使用了根目录绝对路径,没有带上代理的/setup子路径,导致浏览器从网站根目录请求资源而非/setup下。可以通过Nginx的内容替换功能解决:

具体配置步骤

在Nginx Proxy Manager的对应代理主机设置中,找到自定义Nginx配置区域,添加以下配置:

location /setup {
    proxy_pass http://192.168.1.50;
    # 传递必要的请求头,确保后端服务正确识别请求
    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;

    # 替换响应中的根路径资源引用为/setup子路径
    sub_filter 'href="/' 'href="/setup/';
    sub_filter 'src="/' 'src="/setup/';
    sub_filter 'url("/' 'url("/setup/';
    # 替换所有匹配项,而非仅第一个
    sub_filter_once off;
    # 指定需要处理的响应内容类型
    sub_filter_types text/html text/css text/javascript application/javascript;
}

配置说明

  • proxy_pass:指定反向代理的目标摄像头IP地址
  • proxy_set_header:传递请求头信息,让摄像头服务能正确处理代理过来的请求
  • sub_filter:批量替换响应内容中以根目录/开头的资源引用,改为/setup/开头,确保浏览器从正确路径加载资源
  • sub_filter_once off:保证页面中所有匹配的路径都被替换,避免遗漏
  • sub_filter_types:限定需要处理的响应类型,覆盖HTML、CSS、JS等常见静态资源载体

额外注意事项

  1. 确认Nginx Proxy Manager已启用ngx_http_sub_module模块(默认集成,若未集成需重新编译Nginx添加该模块)
  2. 如果摄像头返回的资源路径是带完整域名的绝对URL(如https://somedomain.com/css/...),需补充对应的替换规则:
    sub_filter 'https://somedomain.com/' 'https://somedomain.com/setup/';
    
  3. 修改配置后需重启Nginx Proxy Manager服务,使配置生效

内容的提问来源于stack exchange,提问作者crankshaft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:51:34