是否需要反向代理后面的HTTPS?

Bia*_*ity 5 security ssl https nginx server

我有一个在nginx反向代理后面运行的API服务器。通过TLS保护对我的API服务器的所有请求非常重要,因为它可以处理敏感数据。

我已经设置nginx以使用TLS(LetsEncrypt),所以似乎还可以。但是,从nginx到我的API服务器的http请求仍然是不安全的请求(顺便说一下,这都是在docker容器之间发生的)。

在反向代理和API服务器之间也设置https的最佳实践吗?如果是这样,我该如何进行而不过度设计呢?

Afr*_*ndr 6

这一切都取决于您希望实现的安全性或偏执程度。它还可能取决于您正在使用的数据类型。例如:对于信用卡号或其他敏感信息,我肯定会这样做。

由于 评论已经指出的那样,你通常会在面向前方的Web服务器终止SSL连接,假设API后端也是你的局域网,您的信任和控制内。如果您想更进一步,您还可以在 API 后端设置 SSL。如何执行此操作的详细信息取决于您在后端使用的软件。

如果您决定在 API 后端实现 SSL,则设置将类似于您在前端使用 SSL 设置 Nginx 所做的设置,主要区别在于您不需要在后端使用公共证书。它可以是自签名的,因为除了您的 Web 服务器之外没有其他人会与它交谈。然后只需修复代码中的所有 URI 即可使用 HTTPS。

  • @КонстантинВан 这主要取决于您的代理或负载均衡器与后端之间的连接是否可信。如果它们都位于您控制的同一子网中,则不需要它,因为您可以信任该子网上的所有计算机。如果与后端的连接经过不受信任的网络路径,则建议使用 HTTPS 以保护传输数据的隐私和完整性。这样做也可能有合规原因。 (2认同)