我正在嘗試使用 Apache 和 HOSTS 檔案組合在我的 Windows 電腦上配置虛擬主機。
例如,我希望www.example.com
從位於 的伺服器獲得服務localhost
。但是,連接埠80
已被 Citrix 程序佔用,無法變更。
所以,我的httpd
運行在 81 上。
- 我打http://www.example.com在我的瀏覽器上。
- 儘管在 81 上運行,Apache 虛擬主機配置應該會收到此請求。
- 提供頁面來自http://localhost:81/htdocs。
這有可能嗎?
以下是我的相關部分httpd.conf
:
ServerName www.example.com:81
NameVirtualHost www.example.com:81
我的hosts
文件有以下行:
127.0.0.1 www.example.com
答案1
將以下程式碼片段放入httpd.conf
並查看是否有效。它在內部將所有請求轉發http://localhost:8080/rat
到http://localhost:9080/rat
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /rat http://localhost:9080/rat
ProxyPassReverse /rat http://localhost:9080/rat
瀏覽器中的 URL 保持不變, http://www.example.com:8080/rat
但內容由http://localhost:9080/rat