我正在尝试使用 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