Squid‎ > ‎

Squid X-Forwarded-For 內部IP資訊

2010.12.20

     我們家的主機如果要去別人家裡抓網頁資料都是透過squid proxy 主機, 一般來說對方常用防火牆來判斷是不是允許的ip,  今天遇到一間配合廠商是利用程式來阻擋, 判斷的基礎是用http header裡面的"X-Forwarded-For", 這個header 帶出的訊息是公司內部主機的真實IP(假如內部主機的ip是192.168.200.1, 則header如下:
 
         X-Forwarded-For: 192.168.200.1
 
   因為我們給對方的ip資訊是proxy 的外部ip(假如是66.100.100.x), 這時候配合廠商利用X-Forwarded-For來判斷我們家ip是否正確的程式自然就會有問題了.
 
   解決方法是從squid proxy上關掉X-Forewarded-For的header送出, 如下:
   (1) 編輯squid.conf檔案
  
     ubuntu> vi /etc/squid/squid.conf
    
     
(2)  關掉 X-Forewarded-For , 找到設定檔中的forwarded_for設定, 預設是on, 加入 :
 
     forwarded-for off

    
(3) 儲存檔案, 重新啟動 squid 服務:

   /etc/init.d/squid restart
 

squid.conf 關於forwarded_for的說明

#  TAG: forwarded_for   on|off
#       If set, Squid will include your system's IP address or name
#       in the HTTP requests it forwards.  By default it looks like
#       this:
#
#               X-Forwarded-For: 192.1.2.3
#
#       If you disable this, it will appear as
#
#               X-Forwarded-For: unknown
#
#Default:
# forwarded_for on



參考網址:
1. http://www.cyberciti.biz/faq/squid-proxy-is-not-hiding-client-ip-address/
Comments