相当于服务器端的 iframe


Equivalent of iframe on server side

有没有办法在服务器端创建一个"类似iframe"的?事实是,我需要从我们网站的管理部分访问我协会内部网的某些页面。

我已经有一个可以正常工作的数据库的SQL链接,但是在这里我将访问页面而无需复制Web服务器上的源代码。

我的基础设施如下:

Web 服务器位于 DMZ 中,具有以下本地 IP:192.168.63.10。我们的内联网服务器不在非军事区,具有以下IP:192.168.1.20。

我们的防火墙有服务器规则,我刚刚添加了以下内容:DMZ->LAN 允许 HTTP/HTTPS 流量和 LAN->DMZ 允许 HTTP/HTTPS(就像我们为 SQL 重定向所做的那样)

我尝试了以下PHP函数:

$ch = curl_init();
// set URL and other appropriate options (also tried with IP adress instead of domain)
curl_setopt($ch, CURLOPT_URL, "http://intranet.socname.ch/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);

我也试过:

$page = file_get_contents('http://192.168.1.20/');
echo $page;

或:

header('Location:http://192.168.1.20');

但在所有这些情况下,它在本地工作正常,但不能从互联网上工作。从互联网上,它不加载,过了一会儿,说服务器没有响应。

感谢您的帮助!

您的第一个和第二个解决方案可能有效。您的网络服务器可以访问 192.168.1.20 吗?(尝试在您的网络服务器上ping 192.168.1.20)或解析主机名intranet.socname.ch?(尝试nslookup intranet.socname.ch

你正在寻找的叫做"代理",这是我找到的一个简单的PHP项目:https://github.com/Alexxz/Simple-php-proxy-script

下载存储库,将example.simple-php-proxy_config.php复制到simple-php-proxy_config.php并更改$dest_host = "intranet.socname.ch";

它应该可以解决问题!(可能还需要更改$proxy_base_url