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

How to Verify server to server communication

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

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

我目前坚持的是,试图找出最好的方法来验证存储服务器 API 收到的请求实际上是从前端的反向代理发送的服务器,而不是直接向存储服务器的 API 端点发送 post 请求。

如有任何建议,我们将不胜感激!

有多种方法可以做到:

  1. 您可以使用 API 网关(例如 APIGEE、AWS AI 网关等)。网关可以进行请求来源验证。
  2. 您可以让前端应用程序使用 OAuth(用于存储服务器)并使用 在存储服务器
  3. 上获取 authenticated/authorized
  4. 您可以在服务器之间加入 IP 白名单并在源中允许一组受限制的 IP
  5. 您可以使用 MASSL(相互验证的 SSL)b/w 服务器来确保只有经过验证的客户端才能访问您的 API(可能不直接针对您的问题,但可以结合使用)

如果您不需要复杂或更昂贵的解决方案,这些是简单的选项。