web-services - 将 SSL 添加到 Node.js 端点 : NGINX vs Endpoint

标签 web-services node.js ssl https nginx

我需要将 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)网络用户不直接访问)。

  1. 您将保护公共(public)网络与您的 NGINX 之间的连接。 NGINX 和 NodeJS 服务之间的传输是内部的,不需要保护。这是对 CPU 的巨大浪费。

  2. 对于 NGINX,您从有效的证书颁发机构购买证书。对于内部服务,您可以使用自签名(即您自己的内部证书颁发机构生成的证书),但如上所述,您不需要在内部使用 SSL。

关于web-services - 将 SSL 添加到 Node.js 端点 : NGINX vs Endpoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19901345/

相关文章:

java - 连接到远程服务器时,SocketException 默认 SSL 上下文为空

javascript - socket.io,动态添加消息处理程序

node.js - 使用 Prisma 进行深度嵌套事务写入

.htaccess - 通过 301 重定向将 HTTP 更改为 HTTPS 的正确方法?它会伤害我的 SEO 吗?

c# - 将 JSON 对象发送到 .NET Web 服务时发生内部服务器错误

android - 我如何托管可以在浏览器、Android 和 iOS 上由共享云上相同数据库的用户使用的 Web 服务?

java - Tomcat Web 应用程序只有在我在/manager 页面中明确启动它后才能工作

java - 使用 Mockito 在 Android 上模拟 socket.io 服务器

c# - 我如何识别我的服务的客户?

iphone - 如何将客户端证书包含在 ASIHTTPRequest 中?