我有一个在nginx反向代理后面运行的API服务器。重要的是通过TLS保护对我的API服务器的所有请求,因为它处理敏感数据。
我已经设置了nginx来使用TLS(LetsEncrypt),所以这似乎没问题。但是,从nginx到我的API服务器的请求仍然是不安全的http
请求(顺便说一下,这都发生在docker容器中)。
在反向代理和API服务器之间设置https是最佳做法吗?如果是这样的话,如果不对其进行过度设计,我该怎么做呢?
答案 0 :(得分:2)
这一切都取决于您希望实施的安全或偏执。它还可能取决于您正在玩的数据类型。例如:对于信用卡号码或其他敏感信息,我肯定会这样做。
正如the comments已经声明的那样,您通常会在面向前方的Web服务器上终止SSL连接,假设API后端也位于您信任和控制的LAN内部。如果你想加倍努力,你也可以在API后端设置SSL。有关如何执行此操作的详细信息取决于您在后端使用的软件。
如果您决定在API后端实施SSL,则设置类似于您在前端使用SSL设置Nginx所做的设置,主要区别在于您不需要使用公共证书后端。它可以是自签名的,因为除了您的Web服务器之外没有其他人会与它通信。然后,只需修复代码中的所有URI即可使用HTTPS。