Apache-2.2
如何將請求從一個 apache 伺服器傳遞到另一個
我有兩個啟用了 mod_proxy 的 Apache 伺服器。我想知道如何使用相同的埠(80)將請求從“Apache Server A”“傳遞”到“Apache Server B”。
在具有內部 IP 的“伺服器 A”中:192.168.0.5 我已經配置了 DNS,並且我也將它用作我的郵件伺服器。
在具有內部 IP 的“伺服器 B”中:192.168.0.10 我有自己的雲伺服器。
今天,當我訪問 www.mydomain.com 或 www.mydomain.com/webmail 時,一切正常,因為內容都在“伺服器 A”中,我需要的是當有人嘗試訪問 owncloud.mydomain.com 時,他們可以訪問我的伺服器 B沒有將它們重定向到像owncloud.mydomain.com:81這樣的另一個埠,我只想使用埠80。
實際上我得到了一個重定向循環,因為當我嘗試重定向時,我猜“SERVER A”自己收到了相同的請求。我已經將我的虛擬主機設置在同一個“伺服器 A”中,我想要使用相同的埠和 URL(owncloud.mydomain.com)“重定向”到另一台伺服器。
我不想使用另一個埠重定向。
你會想在伺服器 A 上做這樣的事情:
NameVirtualHost * <VirtualHost *> ServerName owncloud.mydomain.com ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://192.168.0.10:80/ ProxyPassReverse / http://192.168.0.10:80/ <Location /> Order allow,deny Allow from all </Location> </VirtualHost>
根據您的應用程序,您可能需要使用以下一項或全部:
- X-Forwarded-For - 客戶端的 IP 地址。
- X-Forwarded-Host - 客戶端在 Host HTTP 請求標頭中請求的原始主機。
- X-Forwarded-Server - 代理伺服器的主機名。
查看mod_proxy 文件以獲取更多提示和技巧。
參考