Apache:反向代理,用于从另一台服务器处理PHP

时间:2009-09-11 10:09:31

标签: php apache reverse-proxy

我有以下设置:

  • Plain-Server :以纯文本形式提供php文件
  • 代理服务器:向普通服务器请求php文件并解析它。

现在我的问题:我如何配置Proxy-Server(一个完全可配置的apache 2.2与PHP 5.3)来解释来自Plain-Server的普通php文件?

示例:在Plain-Server(可访问的抛出http://plainserver/hello.php)上给出一个小的PHP脚本“hello.php”:

<?php
echo "Hello World";
?>

Plain-Server仅将其输出为纯文本,不解析php代码。

在Proxy-Server上,文件“hello.php”不存在。但是当从Proxy-Server请求hello.php时,应该使用mod_proxy(反向代理)从Plain-Server获取hello.php。它还应该解析并执行php,只说“Hello World”。

反向代理已经在运行,但php代码的执行无效。我试过mod_filter,但不能工作。任何想法如何?

3 个答案:

答案 0 :(得分:1)

您可以考虑通过nfs挂载或类似于目标服务器的内容从源服务器共享php文件。欺骗代理服务器做你要求的事情似乎是在谷仓周围很长的路?

答案 1 :(得分:1)

我完全同意jskaggz, 你可以构建一些可怕的技巧来构建一些获取远程页面的应用程序, 将其下载到本地文件,然后将用户重定向到可执行的页面... 但是有一个数百万的安全问题和可能出错的事情...... 你不能只是将'普通服务器'转换为php excuting服务器并进行一些传统的反向代理 在你的'代理服务器'上 也许使用mod_proxy: http://www.apachetutor.org/admin/reverseproxies

答案 2 :(得分:0)

在此主题的ServerFault版本上回答了这个问题:https://serverfault.com/a/399671/48061