sub_filter支持将返回内容(response body)中的内容进行替换。如返回内容中有跳转地址,比如一些302跳转不是直接通过请求头中的Location,而是由表单自动提交的form,可将返回内容先进行替换,如把http://192.168.1.100更换为https://xyz.test.com,这样就方便地修改代理的跳转地址,不用修改代码。
sub_filter 'http://192.168.1.100' 'https://xyz.test.com';
参考完整实例:
server { listen 443 ssl; server_name xyz.test.com; ssl_certificate cert/_test_com.pem; ssl_certificate_key cert/_test_com.key; location / { proxy_redirect ~^http://192.168.1.100/(.*) https://xyz.test.com/$1; proxy_pass http://192.168.1.100/; sub_filter 'http://192.168.1.100' 'https://xyz.test.com'; sub_filter_once off; } }
sub_filter_once on | off。默认: on,只执行一次。sub_filter指令是执行一次,还是重复执行。
不生效处理办法
增加配置:
proxy_set_header Accept-Encoding "";
发表回复