需求:
在公司內部搭建了一個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;
結果成功。
