httpd.conf vhost 如下所示:
<VirtualHost *:9999>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
# Indexes + Directory Root.
DirectoryIndex index.php
DocumentRoot /var/www/html/example.com/wordpress
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8888/
ProxyPassReverse / http://www.example.com:9999/
#ProxyPassReverseCookieDomain localhost:8888 www.example.com:9999/
ProxyPassReverseCookiePath / /
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
# Indexes + Directory Root.
DirectoryIndex index.php
DocumentRoot /var/www/html/example.com/wordpress
</VirtualHost>
运行 apache 本身的计算机 (192.168.1.5) 正在尝试从标准 example.com 为 wordpress 提供服务,并将端口 9999 (example.com:9999) 上的本地主机应用程序代理到互联网。wordpress 网站可以在网络的任何位置从 192.168.1.5 运行,但 192.168.1.5:9999 上的本地主机应用程序代理可以在 192.168.1.5 本身上运行,但不适用于网络内的其他计算机。我认为,如果 192.168.1.5:9999 在网络上运行,那么它也可以在整个互联网上运行(路由器上已经配置了端口转发),但我不明白为什么它只能在原始服务器上运行,而不能在它的对等服务器上运行。
答案1
尝试使用以下命令访问端口 9999 上的应用程序http://www.example.com/
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.example.com
ServerAlias example.com
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:9999/
ProxyPassReverse / http://localhost:9999/
ProxyPassReverseCookiePath / /
</VirtualHost>