骆言 2022-04-08 11:35 采纳率: 91.7%
浏览 915
已结题

nginx 添加前缀反向代理web页面(引用 `/` 开头的)资源失效的问题

Nginx中非常简单的一个需求:
访问 https://192.168.1.1/luci/ 代理到 http://192.168.1.2/ (一个web服务)
(添加了luci前缀)
配置如下

location /luci/ {
        proxy_pass http://192.168.1.2/;
}

问题在于:
web服务会引用一些其他资源,如css
这些资源的路径全是 / 开头的,如下

<link rel="stylesheet" href="/luci-static/bootstrap/cascade.css?v=git-22.095.24346-72703c8">

这些资源在代理访问的页面无法找到

因为代理访问的页面中,浏览器会去找
https://192.168.1.1/luci-static/bootstrap/cascade.css?v=git-22.095.24346-72703c8
而正确的位置在
https://192.168.1.1/luci/luci-static/bootstrap/cascade.css?v=git-22.095.24346-72703c8

就这个问题如何解决?

  • 写回答

2条回答 默认 最新

  • sky-coder 2022-04-08 12:25
    关注

    可以试试这个

    location = /luci/ {
            proxy_pass http://192.168.1.2/;
    }
    
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月18日
  • 修改了问题 4月8日
  • 修改了问题 4月8日
  • 修改了问题 4月8日
  • 展开全部