让Apache从另一台服务器提供文件(两者都使用vSphere进行虚拟化)

时间:2012-04-19 15:35:01

标签: php apache

寻找有关如何配置Apache以从其他服务器提供文件的方向。不确定这是否是正确的术语,但请耐心等待。

设置如下:

Virtualized Red Hat Enterprise - running Apache (Webserver)
Virtualized Red Hat Enterprise - running PHP (PHP)
(virtualized using vSphere 5.0)

这个想法是Apache处理外部请求并将它们转发到我的PHP应用程序所在的PHP服务器。然后,PHP会将结果“返回”给Apache,后者会将页面返回给用户。

什么样的协议可以实现这一目标?可以在Apache中完成吗?出于安全原因完成设置(在Web服务器级别的折衷将不允许访问PHP服务器,反之亦然)。

向正确的方向发展将是一个很大的帮助。

1 个答案:

答案 0 :(得分:4)

您可以使用Apache的代理功能执行此操作。例如:

<VirtualHost *:80>
  ServerName myhostname

  <Location />
    ProxyPass http://address-of-php-server/
    ProxyPassReverse http://address-of-php-server/
  </Location>
</VirtualHost>

这将导致Apache将与此VirtualHost定义匹配的请求代理到PHP应用程序服务器,并将结果返回给客户端。

这假设您启用了mod_proxy。您实际上是在“前端”服务器和“后端”服务器上运行Apache。

这样的设置有很多很好的理由,但它会更多地保护前端服务器免受PHP代码中的漏洞的影响。