nginx -redirect隱藏http信息中location部分信息

常規配置1圖解

server {
       listen       80;
       server_name  www.boke.com;
       location / {
            proxy_pass http://192.168.3.3:8080;
            proxy_redirect off;
       }
 }
 http://www.boke.com後,將顯示http://192.168.3.3:8080的web信息  代理成功

通過curl查看結果得出

[root@localhost nginx]# curl -I http://www.boke.com/web
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Dec 2015 12:02:00 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: http://192.168.3.3:8080/web/

這裏location爲帶有後端服務器實際地址跟端口的響應頭信息這樣在實際線上是不允許的所以這裏我們打算通過proxy_redirect將被代理服務器的響應頭中的location字段進行修改後返回給客戶端

配置2

server {
       listen       80;
       server_name  www.boke.com;
       location / {
            proxy_pass http://192.168.3.3:8080;
            proxy_redirect http://192.168.3.3:8080/web/  http://www.boke.com/web/;
       }

server {
       listen       80;
       server_name  www.boke.com;
       location / {
            proxy_pass http://192.168.3.3:8080;
            proxy_redirect ~^http://192.168.3.3:8080(.*)   http://www.boke.com$1;
       }

curl查看返回結果

[root@localhost nginx]# curl -I http://www.boke.com/web
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Thu, 24 Dec 2015 12:08:34 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Location: http://www.boke.com/web/

代理後端的服務器信息將不再顯示,取而代之的是隻顯示訪問代理本身

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章