nginx 使用proxy和sub_filter 代理替换访问其他网站
2018年8月27日
nginx中proxy模块可以代理其他ip和网站,我们有时候,需要访问国外网站,但国内被**墙,国内用户访问不了,我们如果想让这个网站可以访问,我们就可以用一台既可以能访问这个网站有可以让国内用户访问的服务器,这样我们就可以用神奇的nginx代理这个网网站!
1 2 3 4 |
proxy_redirect https://guowai.com http://guonei.com; proxy_pass https://guowai.com; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
这样就实现了代理,在国内访问,guonei.com就可以访问国外的网站啦!
这里有个问题,就是上边资源和名称都是人家网站名称!有什么办法可以处理吗,当然有,那就是sub_filter ,通过在nginx层加入sub_filter ,可以替换国外网站中页面的所有东西,只要编写替换规则就可以!
1 |
subs_filter 'https://guowai.com/' 'http://guonei.com/'; |
这个是把页面中guowai.com 换成guonei.com,同时页面中其他元素也可以这样替换,有需求,自己来吧!