多个服务器端应用程序应如何相互“通信”

时间:2015-01-27 18:17:44

标签: php node.js http server

假设两台服务器上有两个服务器端应用程序。

服务器#1,IP地址1.2.3.4,包含一个带有MySQL数据库的PHP Web应用程序。

服务器#2,IP地址5.6.7.8,包含一个带有MongoDB数据库的NodeJS应用程序。

PHP app"命令" NodeJS应用程序(反之亦然)做某事,比如:

  • "请将此数据保存在您的数据库"或
  • "我想从您的数据库中检索数据,其中some_id = 123"

这些内部通信应该是安全的,这意味着除了两个服务器之外没有人可以执行它们。

我认为通过简单的HTTP POST / GET请求可以实现这一点 例如,NodeJS应用程序发送带有参数的POST请求到http://1.2.3.4/do_something.php 或者PHP应用程序可能会向http://5.6.7.8/retrieveSomething发送GET请求 但我认为它不安全,因为URL公开。 (如果我错了,请纠正我)

我甚至不知道这个问题的google搜索关键字 是网络服务吗? SOA? RPC?

1 个答案:

答案 0 :(得分:1)

你的榜样非常好。在保护它方面,一种简单的方法是让“客户端/发送者”与请求一起发送某种商定的API密钥。然后“服务器/接收器”将检查该API密钥。如果它有效,则执行适当的命令。如果不是,服务器将只返回404 Not Found