nginxproxy_pass和proxy_redirect-创新互联

proxy_pass:充当代理服务器,转发请求
proxy_redirect:修改301或者302转发过程中的Location。默认值为proxy_redirect default。

例:
location / {
              proxy_pass http://192.168.8.46:8080/; #/结尾
              #proxy_redirect default #此为默认值,加不加都一样。
         }
这样代理到其它机器的8080端口,访问的时候都没问题,
Location: http://192.168.8.46/haha4/,浏览器的url地址栏也是http://192.168.8.46/haha4/

若:
location / {
              proxy_pass http://192.168.8.46:8080;#去掉/
              proxy_redirect off #修改默认值default为off
         }
如果去掉最后的/以后,curl -I http://192.168.8.46/haha4 访问
Location: http://192.168.8.46:8080/haha4/
浏览器访问显示的地址栏为http://192.168.8.46:8080/haha4/,(如果还是之前的,需要先删缓存)
可以看到,真实的Location地址全部暴露出来的,这个时候就需要使用proxy_redirect修改这个Location
配置如下:
location / {
              proxy_pass http://192.168.8.46:8080;
             proxy_redirect http://192.168.8.46:8080/haha4/http://192.168.8.46/haha4/;
         }
这样,就能修改Location的地址,Location: http://192.168.8.46/haha4/,在浏览器里也是如此,就不会暴露端口号等信息,
当然,你还可以把Location弄到其它网站上去,例如
proxy_redirect http://192.168.8.46:8080/haha4/http://www.douban.com/;
然后浏览器就跳过去了。


总结:
一切幕后黑手就是
 proxy_pass http://192.168.8.46:8080; 不加/结尾,只要把/加上,proxy_redirect 用默认值就OK了。

作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。成都创新互联公司提供从前期的网站品牌分析策划、网站设计、网站设计、成都网站设计、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。
本文名称:nginxproxy_pass和proxy_redirect-创新互联
网址分享:http://myzitong.com/article/djcohp.html