虚拟主机的反向代理

虚拟主机的反向代理

有人可以举例解释一下这段代码吗:

ProxyPreserveHost On
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass / http://localhost:3333/complaints.php
    ProxyPassReverse / http://localhost:3333/complaints.php
</VirtualHost>"

PS此代码写在虚拟主机的配置文件中soldier.io

答案1

这段代码将 Apache 变成一个代理服务器,因此 Apache 会应答请求然后获取资源。

  ProxyPreserveHost On

当从服务器获取请求时,Apache 会添加一个标头(称为 X-Forwarded-For),其中包含请求 IP 地址。这意味着适当配置的程序仍然可以知道原始请求者的 IP 地址,并且正在使用代理。

      <Proxy *>
          Order allow,deny
          Allow from all
      </Proxy>
      ProxyPass / http://localhost:3333/complaints.php
      ProxyPassReverse / http://localhost:3333/com

这些库使 Apache 能够执行代理,并允许任何请求。当有人访问 soldiers.io/ 时,ProxyPass 和相关的 ProxypassReverse 行将连接到本地机器上的端口 3333 并请求 URL complaints.php,然后它会将其返回给客户端。

(您将发现有某种类型的 Web 服务器在 localhost:3333 中应答)

相关内容