一点背景知识:我在一个公共网站上有一个表单,需要将数据发布到防火墙后面的 Apache 服务器。我不想提供从 Internet 直接访问此虚拟主机的权限。
目前这就是我正在做的事情:我的 DMZ 中有一个 IIS 服务器。此 IIS 服务器是唯一允许通过防火墙访问 Apache 服务器的 IP。作为一个临时解决方案,我使用“应用程序请求路由”设置 IIS,以通过 IIS 将 Apache 框呈现到 Internet。
我想做的事:有一些方法来捕获然后转发表单,而不必将 Apache 盒子展示到互联网上。这里的诀窍是 POST 将来自 Internet 上的任何地方,被 IIS 服务器抓取,然后从 IIS 服务器中继到 apache 盒子。我已经研究过用 PHP/cURL 来做这件事,但不确定使用这样的东西是否可以解决问题:
<?php
$todo = "";
while (list($name, $value) = each($HTTP_POST_VARS)) {
$todo.=$name."=".$value."&";
}
$ch = curl_init('http://mylanserver/capture.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $todo);
curl_exec ($ch);
curl_close ($ch);
?>
有人可以指出我正确的方向吗?谢谢。