nginx反向代理配置相對路徑


需求:

在公司內部搭建了一個php的網站,想用花生殼映射到外網。

一.反向代理解決直接映射不成功問題

直接用把花生殼的"域名+端口"指向此php網站並竟然不生效。但是不加網站名可以跳到apache的界面上去。這是為什么?由於服務端也是nginx+php環境,猜測是服務端nginx直接將報文轉發給phpcgi,php搞不定。

因此,想到先用nginx搭建一個反向代理,然后,按網站名指向此php服務器。果然生效。

二.配置相對目錄,解決網頁內鏈接跳轉問題

但是點擊網頁上的連接的時候,就跳轉到了內網地址。顯然在外網是不能使用的。這時想到nginx可以支持相對路徑。

搜索了一下找到:http://www.cnblogs.com/welkinok/p/5301285.html,這個配置很管用。

配置完之后,用花生殼的域名訪問,結果所有的css和圖片都沒有加載上來。用F12調試后,發現他們只是指向域名,沒有加端口,因此將配置修改如下:

  proxy_set_header Host $host:11440; #注意,紅色的部分寫花生殼給你分配的端口
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header REMOTE-HOST $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  proxy_redirect off;
  proxy_pass_header Set-Cookie;
  proxy_hide_header X-Powered-By;
  proxy_hide_header X-Mod-Pagespeed;
  proxy_ignore_client_abort off;
  proxy_cache_valid any 10m;

結果成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM