亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4150 | 回復: 0
打印 上一主題 下一主題

[Web] nginx經過兩次反向代理獲取真正的ip地址[已解決] [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-08-09 12:17 |只看該作者 |倒序瀏覽
本帖最后由 hlgao 于 2011-08-09 14:56 編輯

今天使用nginx來作為反向代理服務器,用戶的請求經過nginx服務器,作為反向代理服務器,把請求反向內網的服務器
然而內網的服務器仍然是nginx來做服務器處理靜態(tài)頁面,動態(tài)的頁面再以proxy代理的形式發(fā)到apache服務上面來處理,如果nginx服務器直接請求apache服務器的話,可以在apache上加一個模塊mod_rpaf-2.0.so 來實現,
在nginx的配置里面加這樣的代碼:

  1. proxy_set_header   Host   $host;
  2. proxy_set_header   X-Real-IP $remote_addr;
  3. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
復制代碼
這樣就apache里面就可以獲得用戶的真正ip
但是這里多經過了一次nginx服務器,獲得了都是nginx的反向代理服務器的網關地址,現在怎么樣才能獲得真正的用戶ip呢?




這個問題已經解決了,把自己的解決方法說一下,以后有遇到同樣問題的可以方便處理:
開始的時候也沒有想到是什么原因,獲取ip的函數也是正常的,剛開始想著把那個真實ip的也用proxy的傳遞過去,不過結果還是不正確。
后來在那里看獲取ip的函數,不知道怎么心血來潮,把每一步結果都顯示了一遍,結果發(fā)現了一個問題,
獲得的服務端變量HTTP_X_FORWARDED_FOR竟然是兩次的ip的疊加,一個是用戶ip,一個是網關ip,這樣的話就好辦了。
在第二層的nginx配置文件里面,把這個變量去掉就好了,
去掉這段
  1. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
復制代碼
重新加載nginx配置
  1. /usr/local/nginx/sbin/nginx -s reload
復制代碼
成功~
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP