我想阿帕奇以下方式工作:的Apache的mod_proxy與mod_rewrite的不同服務器保留URL
- 用戶類型user1.app.com到地址欄。
- DNS有一個將所有內容轉發到SERVER1的通配符
- SERVER1已運行Apache,它將使用重寫映射將user1映射到IP地址xxx.xxx.xxx。
- 阿帕奇供應來自xxx.xxx.xxx所有內容,同時保留URL user1.app.com
我已經嘗試做這幾種方式:
方法1:
RewriteRule ^(.*) http://xxx.xxx.xxx:port/ [P]
結果:重定向循環,遠程IP訪問少數幾次(可以通過查看遠程服務器上的日誌進行確認)。 SERVER1的日誌顯示以下的重複:
proxy: *: found reverse proxy worker for http://xxx.xxx.xxx/
mod_proxy.c(1020): Running scheme http handler (attempt 0)
mod_proxy_http.c(1973): proxy: HTTP: serving URL http://xxx.xxx.xxx/
proxy_util.c(2011): proxy: HTTP: has acquired connection for (*)
proxy_util.c(2067): proxy: connecting http://xxx.xxx.xxx/ to xxx.xxx.xxx:80
proxy_util.c(2193): proxy: connected/to xxx.xxx.xxx:80
proxy_util.c(2444): proxy: HTTP: fam 2 socket created to connect to *
proxy_util.c(2576): proxy: HTTP: connection complete to xxx.xxx.xxx:80 (xxx.xxx.xxx)
mod_proxy_http.c(1743): proxy: start body send
mod_proxy_http.c(1847): proxy: end body send
proxy_util.c(2029): proxy: HTTP: has released connection for (*)
方法2:
<VirtualHost *:801>
ServerName SERVER1
ProxyRequests Off
ProxyPreserveHost On
<Proxy *:801>
Order deny,allow
Allow from localhost
</Proxy>
ProxyPass/http://xxx.xxx.xxx/
ProxyPassReverse/http://xxx.xxx.xxx/
LogLevel debug
</VirtualHost>
和
RewriteRule ^(.*) http://127.0.0.1:801/ [PT]
結果:400錯誤的請求 用方法2,我可以去SERVER 1:801在我的瀏覽器中,一切按預期工作。
任何幫助非常感謝! 在此先感謝!
對此問題的任何更新?我相信這個:http://stackoverflow.com/questions/11936922/apache-rewrite-or-proxy應該是有幫助的。 –