在两个EC2服务器之间进行通信-AWS

问题描述 投票:0回答:2

我有两个EC2服务器。 一个运行Windows Server 2012 R2,另一个运行在Amazon的Linux版本上。 Linux盒用作PHP进行脚本编写的Web服务器。 我希望Linux服务器在每次处理PHP文件(充当RESTful端点)时向Windows服务器发送一个字符串。

我从未做过类似的事情,并且想知道从哪里开始。 从到目前为止的研究来看,使用Netcat创建Telnet连接似乎可以完成这项工作。 如果是这样,样板代码将是什么样? Netcat是一个非常古老的平台,在Google搜索的示例中找不到很多东西。

我也欢迎其他可以解决此问题的解决方案。

我正在尝试做的工作流程如下:

A user hits PHP file end-point -> PHP or the server it runs on sends a string to the Windows Server > Windows server receives the string and starts a script

amazon-web-services amazon-ec2 telnet netcat
2个回答
0
投票

您可以看看从PHP中调用winexe。 我还没有自己做,但是我读过,这应该可以解决问题。

winexe Sourceforge

来自PHP的一些示例代码在这里

希望对您有所帮助

问候

利亚姆


0
投票

您可以考虑使用以下任一方法将此作为Windows服务器上的端点公开:

IIS + PHP
IIS + CGi/Perl
IIS + Asp

或其他任何东西。

在IIS(Windows Web服务器)上公开一个简单页面,并在Linux服务器收到请求时从Web服务登录名(Linux服务器)中单击该页面。 Windows服务器公开的脚本/页面可以执行所需的脚本。 应该保护Windows服务器上公开的页面/端点,以便没有人可以执行它(禁用公共ip。在防火墙规则中仅限制Linux服务器IP等)。

样品

  • 在您的php网络服务中- $my_var = file_get_contents('http://WinServerPrivateIp/runScript.pl'); // Make it asynchronous if needed $my_var = file_get_contents('http://WinServerPrivateIp/runScript.pl'); // Make it asynchronous if needed
  • Windows中的runScript.pl将执行您的实际脚本。
© www.soinside.com 2019 - 2024. All rights reserved.