proxypass apache 通过非标准端口 - 为什么 192.168.*:9999 在计算机本身上运行,但在网络上的其他计算机上却不运行?

proxypass apache 通过非标准端口 - 为什么 192.168.*:9999 在计算机本身上运行,但在网络上的其他计算机上却不运行?

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>

相关内容