假设两台服务器上有两个服务器端应用程序。
服务器#1,IP地址1.2.3.4,包含一个带有MySQL数据库的PHP Web应用程序。
服务器#2,IP地址5.6.7.8,包含一个带有MongoDB数据库的NodeJS应用程序。
PHP app"命令" NodeJS应用程序(反之亦然)做某事,比如:
这些内部通信应该是安全的,这意味着除了两个服务器之外没有人可以执行它们。
我认为通过简单的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?
答案 0 :(得分:1)
你的榜样非常好。在保护它方面,一种简单的方法是让“客户端/发送者”与请求一起发送某种商定的API密钥。然后“服务器/接收器”将检查该API密钥。如果它有效,则执行适当的命令。如果不是,服务器将只返回404 Not Found
。