我需要将SSL添加到多个Node.js服务中,每个服务都在监听自己的端口,并且NGINX将它们映射到我们的公共“api”域。
由于现在发布了新的安全策略,因此必须强制执行所有服务以仅对SSL连接起作用。
由于我不习惯使用SSL证书,因此我不清楚在NGINX上设置SSL并使NGINX本身代理传递到http://连接或拥有真实节点的优势是什么? .js端点是SSL服务器,然后代理传递给https://。
我想使用NGINX解决方案,我可以重复使用相同的SSL证书将其添加到我们的“api”域,而每个不同的SSL节点服务器都需要不同的证书。 然后我不清楚是否进入这样的生产环境我应该使用自签名证书(因为端点是通过其他服务触及),或者它应该是CA可信证书,就像它应该是公共域一样。 / p>
在这些考虑中我缺少什么?
答案 0 :(得分:0)
我认为NGINX面向公众,而nodejs服务是内部(即不能由公共网络用户直接访问)。
您仅确保公共网络与NGINX之间的连接安全。 NGINX和NodeJS服务之间的传输是内部的,不需要保护。这是对CPU的一大浪费。
对于NGINX,您可以从有效的证书颁发机构购买证书。对于内部服务,您可以使用自签名(即您自己的内部证书颁发机构生成的证书),但如上所述,您不需要在内部使用SSL。