Nginx proxy_pass 位置绝对路径

Nginx proxy_pass location absolute paths

我有一个代理页面:http://destsrv:8089/index.html 它包含 link 到绝对路径,如:href="/static/bootstrap/css/bootstrap.min.css"

nginx 配置如下:

 location /admin/ {
              proxy_pass http://destsrv:8089/;
        }

虽然在访问 http://myproxy/admin/index.html 它试图从以下位置获取 .css: http://myproxy/static/bootstrap/css/bootstrap.min.css

但预期是: http://myproxy/admin/static/bootstrap/css/bootstrap.min.css

怎么做?

试试这个

location /admin/ {
   proxy_pass http://destsrv:8089/;
   sub_filter_once off;
   sub_filter "http://destsrv:8089/" "$scheme://$host/admin";
   sub_filter 'href="/' 'href="/admin/';
   sub_filter "href='/" "href='/admin/";
}

您基本上想使用过滤器修复 url