0

我正在制作一个简单的基于 Web 的控制面板,我认为实现它的最简单方法是在两台机器上安装 PHP(一台是面向 Web 的机器,另一台位于 VPN 后面),基本上我需要它因此,当我在机器 1 的外部 IP 上按下站点上的按钮时,它会向192.168.100.1机器 2 的内部 IP(例如)发送请求并运行 PHP 文件(test.php 加上一些$_GET数据)而不实际重定向最终用户192.168.100.1,因为显然这将超时,因为无法访问它。

4

3 回答 3

2

如果您只想让某些内部 PHP 页面在外部服务器上可访问,您应该考虑设置反向代理,而不是使用 PHP 手动代理请求。

有关示例,请参见 Apache 文档:http ://httpd.apache.org/docs/2.2/mod/mod_proxy.html

当然,如果您在外部服务器上进行身份验证和/或需要在内部 PHP 代码之前/之后在外部服务器上执行额外的 PHP 代码,这将不起作用。在这种情况下,请参阅 Mihai 或 Louis 的答案。

于 2013-11-04T10:43:53.227 回答
1

您可以使用 cURL 将 HTTP 请求从机器 1 发送或转发到机器 2,并接收机器 2 给您的响应并(如果需要)处理这些响应以将它们显示给用户。

您还可以使用 (XML-/JSON-)RPC 或 SOAP,它们会更加优雅和可扩展(比使用 cURL 更常见),但它具有更高的学习曲线和更大的设置时间/工作量。

于 2013-11-04T10:30:44.897 回答
1

您还应该能够使用file_get_contents(通常支持 http 协议)或http_get,这是一个为简单的 http get 请求而设计的函数。

这可能不是最理想的方式,但应该很容易做到。

于 2013-11-04T10:34:57.193 回答