Apache-2.2
Apache:將特定 URL 重定向到不同埠上的本地伺服器
這看起來很簡單,但我無法讓它工作。
我有一個非常簡單的網路伺服器,只需要做兩件事:
- example.com/status.html 返回一個本地文件(這有效)
- example.com/atom 重定向執行在同一台機器上 4000 埠的防火牆伺服器的內容
這沒有用:
RewriteRule ^$ http://localhost:4000
從請求者的角度來看(即在客戶端的機器上),這會將流量重定向回 localhost:4000。
我對 VirtualHost 的有限理解表明這是針對 atom.example.com 之類的,而不是 example.com/atom
我想我必須使用 ProxyReverse,但我找不到合適的組合。
更新:嘗試 Shane Madden 給出的 ProxyPass/ProxyReverse 建議會在錯誤日誌文件中生成:
[Thu Mar 15 11:59:15 2012] [error] (13)Permission denied: proxy: HTTP: attempt to connect to 127.0.0.1:4000 (localhost) failed [Thu Mar 15 11:59:15 2012] [error] ap_proxy_connect_backend disabling worker for (localhost) [Thu Mar 15 11:59:17 2012] [error] proxy: HTTP: disabled connection for (localhost)
(本地伺服器肯定在 127.0.0.1:4000 上執行)
除非你有理由這樣做,否則不要使用 mod_rewrite。
試試這個(把它放在
<VirtualHost>
塊中):ProxyPass /atom http://127.0.0.1:4000/atom ProxyPassReverse /atom http://127.0.0.1:4000/atom