虚拟主机配置,Apache httpd 在非 80 端口上运行

虚拟主机配置,Apache httpd 在非 80 端口上运行

我正在尝试使用 Apache 和 HOSTS 文件组合在我的 Windows 机器上配置虚拟主机。

例如,我希望www.example.com从位于 的服务器获取服务localhost。但是,端口80已被 Citrix 进程占用,因此无法更改。

因此,我的httpd正在 81 上运行。我希望能够实现以下目标。

  1. 我打http://www.example.com在我的浏览器上。
  2. 尽管在 81 上运行,Apache 虚拟主机配置也应该接收此请求。(这就是我担心的地方!)
  3. 提供以下来源的页面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/rathttp://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

相关内容