如何验证服务器到服务器的通信

时间:2016-08-03 05:02:41

标签: go storage distributed-computing api-design server-communication

我在尝试确定哪些是我正在尝试构建的最佳解决方案时遇到了一些问题。

在最简单的应用程序中,我有一个前端服务器,允许用户上传与其帐户相关联的文件,例如视频或图像。上传文件表单将上传请求发布到前端服务器,后端服务器然后使用反向代理将请求直接传递到存储服务器的API(https://www.example.com/users/username/upload)。

我目前所坚持的是,试图弄清楚哪种方法可以验证从存储服务器API收到的请求实际上是从前端服务器的反向代理发送的,而不是某人只是将直接发布请求发送到存储服务器的API端点。

任何建议都会非常感激!

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到:

  1. 您可以使用API​​网关(例如APIGEE,AWS AI Gateway等)。 Gateway可以请求原始验证。
  2. 您可以让前端应用使用OAuth(用于存储服务器)并使用 要在存储服务器上进行身份验证/授权
  3. 您可以在服务器和服务器之间进行IP白名单。在源
  4. 中允许一组受限制的IP
  5. 您可以使用MASSL(Mutual Authenthicated SSL)黑白服务器确保只有经过验证的客户才能访问您的API(可能不是直接针对您的问题,但可以与组合使用)
  6. 如果您不需要复杂或更昂贵的解决方案,这些是简单的选项。

相关问题