當 IIS 遇到代理伺服器:如何在複雜網路環境下實現真實 IP 白名單控制
前情提要:測試機被臨時收走台電那邊因為要做白帽滲透測試,得暫時把測試機關掉。但開發團隊三不五時還是需要一個能驗功能的環境,於是我們把程式臨時搬到另一台機器上跑。原本盤算著,IIS 設個 IP 白名單就能擋住外人,半小時搞定。結果這個白名單,前後折騰了我大半天。 問題:白名單一開,全員 403我在 IIS 管理器的「IP 位址及網域限制」裡,把信任的 IP 一個個加進白名單,存檔,重新整理頁面。畫面回我一個乾脆的 403。 換個設定再試,規律很清楚: 設成「允許未指定的用戶端」→ 一切正常 設成「拒絕未指定的用戶端,只放行白名單」→ 所有人都 403 白名單裡明明有我自己的 IP,怎麼也被擋?翻 IIS Log 才看懂: 1c-ip: 192.168.0.28 每一筆請求的來源 IP 都是 192.168.0.28。這是那台 Proxy Relay 伺服器。外部請求全部先打到它,再由它轉發進 IIS。IIS 眼裡只有代理伺服器這一個來源,真正的客戶端 IP 它根本看不到——白名單再怎麼設都是擋自己人。 追查:真實 IP 藏在哪個標頭代理轉發時,習慣上會把原始客戶端 IP 塞進...




