反向代理做法可以為網站安全做更高一步,像一些銀行肯定是使用了反代理就是你進入代理服務器也得不到任何數據,下面我來介紹nginx用mod_proxy實現反向代理配置方法。
由于項目需要實現一個域名代理的功能
比如:
代碼如下:a.com/a.html=>b.com/b.html
也就是用a.com代理了所用b.com網站的請求,經過朋友介紹用apache的反向代理可以實現其目的,哥們試了一下,果然很爽.配置起來也超級的方便.
(注意下面只介紹反向代理,正向代理等我用到了再介紹嘿嘿)
1.啟動apache的mod_proxy模塊.
代碼如下:LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
注意mod_proxy_http.so.我測試的時候沒有添加這個模塊怎么測試都會代理失敗,后來添加了這個模塊后問題消失
2.實現代理語句
代碼如下:ProxyPass /mirror/foo/ http://backend.example.com/
實現把當前host /mirror/foo/目錄下面的請求全都分發到backend.example.com上面去.
根據我的要求:
在a.com的文件夾目錄里面加上一條
代碼如下:ProxyPass / http://b.com/
一切ok
3.進行域名代理后要注意:
3.1:網站中的url最好都用相對路徑.如果用絕對路徑的話容易繞過代理,這后代理服務器后面的主機就容易暴露.
3.2:注意在引用$__Server['server_name']全局變量的時候取到的是當前server_name的域名.如果想取到代理的域名則要通過$__Server['HTTP_X_FORWARDED_FOR']取得代理域名.注:一般用于寫cookie之類的操作
新聞熱點
疑難解答