Linux 在node.js中,将ssl与多个域名和一个ip地址一起使用

Linux 在node.js中,将ssl与多个域名和一个ip地址一起使用,linux,node.js,Linux,Node.js,用于Linux中的Apache,其中每个使用ssl的域名都需要自己的ip地址 如果使用node.js而根本不使用Apache,这仍然是真的吗?node.js中的限制与Apache中的限制相同——它们与您使用的特定服务器软件无关,它们是http和TLS/SSL协议固有的 话虽如此,有两种方法可以从一个IP地址为多个域运行SSL。我不知道node.js对其中任何一个的支持状态,但对于第一个备选方案来说都不重要 首先,您可以获得一个覆盖所有要使用的域名的SSL证书——如果它们都是同一个域的子域,则为通

用于Linux中的Apache,其中每个使用ssl的域名都需要自己的ip地址


如果使用node.js而根本不使用Apache,这仍然是真的吗?

node.js中的限制与Apache中的限制相同——它们与您使用的特定服务器软件无关,它们是http和TLS/SSL协议固有的

话虽如此,有两种方法可以从一个IP地址为多个域运行SSL。我不知道node.js对其中任何一个的支持状态,但对于第一个备选方案来说都不重要

首先,您可以获得一个覆盖所有要使用的域名的SSL证书——如果它们都是同一个域的子域,则为通配符;如果它们不是,则为使用(SAN)的通配符。请注意,一些较旧的web浏览器不支持SAN,特别是在某些智能手机上


其次,您可以使用(SNI)配置多个SSL证书,因为它扩展了SSL协议,使主机名在完成密钥交换之前可供服务器使用。SNI的浏览器支持不如SAN好,特别是它不能与Windows XP上的任何Internet Explorer版本一起使用。

此链接显示了如何使用SNI方法与nginx一起使用

您还可以让nginx执行https和文件服务,并让它将代理反向转换为node.js以进行api工作,如下所示:


如果应用程序要求使用较新版本的firefox、chrome或ie,您认为SNI可以吗?无需担心-您提供的SNI链接回答了所有问题。再次感谢!伟大的链接!目前使用haproxy在节点和nginx之间进行拆分-我们发现这非常简单,尤其是现在它支持ssl。知道这是在问日志,但您是否知道这种方法是否适用于haproxy。