1

有什么方法可以在服务器端创建“类似 iframe”的内容吗?事实是,我需要从我们网站的管理部分访问我社会内部网的某些页面。

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

我的基础设施如下:

Web 服务器位于 DMZ 中,并具有以下本地 IP: 192.168.63.10。我们的内网服务器不在 DMZ 中,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');

但在所有这些情况下,它在本地运行良好,但在互联网上运行良好。从互联网上,它没有加载,过了一会儿,说服务器没有响应。

谢谢你的帮助 !

4

1 回答 1

1

您的第一个和第二个解决方案可以工作。您的网络服务器可以访问 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

下载 repo,复制example.simple-php-proxy_config.phpsimple-php-proxy_config.php并更改$dest_host = "intranet.socname.ch";

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

于 2013-09-05T13:45:00.697 回答