重写反向代理页面上的所有链接

时间:2017-05-15 13:34:40

标签: javascript nginx proxy reverse-proxy

我反向代理这样的IP限制页面:

server {
    server_name mypage.com;
    listen 80 ;

    location / {
       proxy_pass https://sandbox.otherpage.com/;
       proxy_bind $server_addr;
    }
}

这很好但页面上的所有链接(包括AJAX调用)都链接到https://sandbox.otherpage.com/

我不确定我是做错了什么还是我代理的其他网络应用程序链接到绝对页面。

如何重写这些链接?

1 个答案:

答案 0 :(得分:1)

您可以使用sub filters做您想做的事情

location / {
  proxy_pass https://sandbox.otherpage.com/;
  proxy_bind $server_addr;
  sub_filter "https://sandbox.otherpage.com/" "https://myserver.com/";
  sub_filter_once off;
  sub_filter_types *;
}

如果您只需要匹配html文件,则可以删除sub_filter_types

此外,您可能需要添加proxy_set_header Accept-Encoding ""