Nginx反代实战教程
2017-01-04
因为一些特殊的原因,我需要弄一个我司官网的反代
反代嘛,用nginx So Easy啦!
我上来就一个proxy_pass
轻松搞定
location / {
proxy_pass http://new-domain/;
}
看似没什么问题,但是一点链接就露馅了——又跳转到原域名去了
看来是需要替换一下html里的链接地址才行
我上来就一个sub_filter
轻松搞定
sub_filter "http://old-domain.com/" "http://new-domain/";
sub_filter_once off; # 进行多次替换
sub_filter_types *;
如果nginx reload时报错sub_filter不存在的话,你可能需要:
Centos下重新编译nginx并添加模块
看起来好像没什么问题,测试一下
然而并没有什么卵用,sub_filter
压根没有生效
经过一番Google,原来是因为sub_filter
无法替换被压缩(例如gzip)过的页面内容
所以我们需要再加上一句
proxy_set_header Accept-Encoding ""; # 禁止压缩否则无法进行替换
reload一下,测试通过,反代完成~
为啥本地反代能绕过sni审查
我没说能绕过sni审查呀?
不错哦