远程呈现PHP文件

时间:2016-07-23 10:10:21

标签: php nginx ssh port forwarding

这个问题很可能没有答案或者很愚蠢。我想我们会发现的。

我的情况如下:

  • 我正在使用嵌入式设备。在嵌入式设备上 是10-20个webservices运行 - 你可以想象小 Web服务器。他们每个人都在自己的港口。这个可能有IP 152.0.0.1

  • 顶层Web界面围绕着这些Web服务。这
    webinterface在标准LEMP设置(debian)上运行。假设这有IP 10.0.0.1

要在嵌入式设备上工作,可以通过在(本地)webbrowser中调用152.0.0.1:xxxx,152.0.0.1:xxxy,152.0.0.1:xxxz从webservice本地跳转到webservice。这很好用。有这样的设置似乎很疯狂,但我没有可能改变这方面的事情。

我想要做的是将小型网络服务嵌入到顶级网络界面中,该网络界面将有一个导航栏,可以选择要查看哪一个。

两个系统不在同一网络中,而是通过ssh隧道连接。但是,端口本身是动态的,所以我不能简单地在顶级Web界面中对它们进行硬编码。我应该能够使用从数据库获得的动态端口构建导航栏 - 这是可能的。由于将有多个这样的嵌入式设备,因此将有多个端口通过ssh连接转发。这是有问题的部分。

我的问题是:实际上有一种方法可以在nginx / php7级别上摆脱这种端口困境的情况吗?嵌入式设备应该保留自己的端口,但我不想从Web接口明确地调用它们。而且,具有一组端口的每个设备都非常麻烦。我可以使用nginx反向代理将端口映射到URL,但我必须在嵌入式硬件上执行此操作,这很复杂。我可以在debian服务器上使用nginx,但这意味着我必须将一大堆端口从嵌入式设备转发到debian服务器,这不太好。

有没有办法让嵌入式设备自己构建一个页面,使用其内部端口方案,然后在顶层Web界面上显示?我正在考虑允许我这样做的命令,例如

仅在嵌入式设备上的

buildpage($ device,$ port)和"转发"将构建的网页的全部内容添加到顶级Web界面。然后,顶级Web界面将永远不必处理嵌入式设备上的端口混淆,它只需要说明它应该使用哪个端口,嵌入式设备在内部预呈现页面并将其发送到顶级Web界面。这就是说,前面提到的ssh隧道不再需要转发一大堆端口,但可能只有一个 - 这是最终目标!

我可能会在这里监督一个简单的解决方案,这种方法可能并没有太多意义,但请考虑一下。如果有更好的选择,我会非常渴望知道。

非常感谢

0 个答案:

没有答案