Apache-2.2
如何配置 Apache Web 伺服器以重定向它收到的請求而不修改源 IP?
不幸的是,我不了解 Web 伺服器,但我正在嘗試幫助一位同事。我們有一個 Apache Web 伺服器設置,我們需要它重定向重新發送它獲得的請求到應用程序伺服器,同時保持源 ip 與 apache 收到它時相同。
發生的事情是:
- 客戶端(IP:1.1.1.1)向 Apache Web 伺服器發送請求
- Apache Web 伺服器 (IP: 2.2.2.2 ) 將其請求重定向到應用程序伺服器
- 應用程序伺服器將源 IP 視為 ( 2.2.2.2 ),這是 Apache 的!
如何配置 Apache 讓它將請求重定向到應用程序伺服器而不更改源 IP,因此在上述範例中,應用程序伺服器將接收 1.1.1.1 作為源 IP 地址。
可悲的是,使用標頭是我們最後的選擇,因為它會迫使我們在應用程序中進行大規模的更改。
如果您想保留 IP 地址,這樣您就不必進行您提到的大規模應用程序更改,您可以啟用 IP 轉發,然後在 IP 級別而不是通過代理進行流量轉發(請參閱http:// www.debuntu.org/how-to-redirecting-network-traffic-to-a-new-ip-using-iptables/例如)。
如果使用 Windows,請查看
netsh interface portproxy add v4tov4
(請參閱https://technet.microsoft.com/en-us/library/cc731068(v=ws.10).aspx#BKMK_1)。
您應該使用反向代理而不是網路伺服器來執行此操作,嘗試安裝 nginx(同時執行反向代理和網路伺服器)。
它將允許您完全按照您的意願行事,基本上,您無需配置文件系統路徑,而是配置網路路徑(您的應用程序伺服器)。