用于Linux中的Apache,其中使用ssl的每个域名都需要自己的ip地址。
如果使用node.js而根本不使用Apache,这仍然是真的吗?
发布于 2011-12-02 15:01:18
同样的限制也适用于node.js和Apache --它们与您正在使用的特定服务器软件无关,它们是http和TLS/SSL协议固有的。
话虽如此,从单个IP地址为多个域运行SSL有两种方法。我不知道这两种方法的node.js支持状态如何,但对于第一种方法应该无关紧要。
首先,您可以获得一个涵盖所有要使用的域名的SSL证书--如果它们都是同一个域的子域,则使用通配符;如果不是,则使用Subject Alternative Names (SAN)。请注意,某些较旧的web浏览器不支持SAN,尤其是在某些智能手机上。
其次,您可以使用Server Name Indication (SNI)来配置多个SSL证书,因为它扩展了SSL协议,使服务器在完成密钥交换之前可以使用主机名。浏览器对SNI的支持不如对SAN的支持,尤其是它不能与Windows XP上的任何Internet Explorer版本一起工作。
发布于 2013-08-03 07:55:23
此链接显示了如何使用SNI方法在nginx中执行此操作。
你不妨让nginx做https和文件服务,并让它反向代理到node.js中进行接口工作,如下所示:
https://stackoverflow.com/questions/8352668
复制相似问题