我需要将 SSL 添加到几个 Node.js 服务,每个服务都在监听自己的端口,并且有 NGINX 将它们映射到我们的公共(public)“api”域。
由于新安全政策的发布,现在必须强制所有服务仅在 SSL 连接上工作。
因为我不习惯使用 SSL 证书,所以我不清楚在 NGINX 上设置 SSL 并使 NGINX 本身代理传递到 http://连接或拥有真实 Node 的优势是什么.js 端点成为 SSL 服务器和(然后代理传递给 https://)。
我想使用 NGINX 解决方案,我可以重新使用相同的 SSL 证书,将其添加到我们的“api”域,而每个不同的 SSL Node 服务器将需要不同的证书。 然后我不清楚在这样的生产环境中我是否应该使用自签名证书(因为端点是通过其他服务接触的)或者它是否应该是一个 CA 可信证书,就像它应该是一个公共(public)域一样。
我在这些考虑中遗漏了什么?
最佳答案
我假设 NGINX 是面向公众的,而 nodejs 服务是内部的(即公共(public)网络用户不直接访问)。
您将仅保护公共(public)网络与您的 NGINX 之间的连接。 NGINX 和 NodeJS 服务之间的传输是内部的,不需要保护。这是对 CPU 的巨大浪费。
对于 NGINX,您从有效的证书颁发机构购买证书。对于内部服务,您可以使用自签名(即您自己的内部证书颁发机构生成的证书),但如上所述,您不需要在内部使用 SSL。
关于web-services - 将 SSL 添加到 Node.js 端点 : NGINX vs Endpoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19901345/