首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有服务器重新启动的情况下,SSL保护单个vHost下的无限站点

问在没有服务器重新启动的情况下,SSL保护单个vHost下的无限站点
EN

Webmasters Stack Exchange用户
提问于 2017-04-14 06:20:46
回答 1查看 79关注 0票数 1

我正在创建一个与Wix类似的平台,用于托管网站。我希望确保所有的网站(除非有特殊的问题,在一个网站的基础上防止这一点)将受到https的保护。

该系统的基本功能是理论上不受限制的域将能够映射到负载均衡器,该负载均衡器将连接到多个虚拟服务器,所有虚拟服务器都在默认的Apache vHost下运行相同的PHP应用程序,所有端口443的通信量都指向PHP应用程序。

由于可以有无限数量的域用于访问应用程序,而且每天都会添加新的域,因此我试图找出实现这一目标的适当类型的证书类型。

理想情况下,我需要满足以下条件的解决方案或证书类型.

  • 没有域级限制(即:每次将新站点添加到数据库时不需要重新生成证书)
  • 不需要知道可能连接到它的域名,因为这些域名存储在数据库中,并且不会出现在任何地方的服务器上。
  • 理想的情况下,某种形式的自动化进程,如果可能的话,作为虚拟服务器将被摧毁和重新供应经常使用新的IP地址和新的服务器名称。

我知道如何通过自动化服务(如LetsEncrypt )在Apache中托管更经典的站点时,每个vhost都有一个证书,但是上面的内容让我很不爽,而且我在网上也找不到任何东西。

EN

回答 1

Webmasters Stack Exchange用户

发布于 2017-05-30 15:23:01

将SSL证书与域名连接的方法有三种:

  • 为域名购买证书。在该域的唯一IP地址上运行服务器。(经典SSL)
  • 购买涵盖多个域的单一证书。在所有这些域的唯一IP地址上运行服务器。添加域时重新颁发证书。这就是主题替代名称(SAN)或统一通信证书(UCC)。
  • 为每个主机购买一个单独的证书。在一个IP地址上托管所有内容。在虚拟主机配置中指定证书。这就是所谓的服务器名称指示(SNI),现在它有98%的浏览器支持。只有一些较老的Android和IE浏览器不支持它。

您需要添加新的主机名而不重新颁发证书,这意味着您需要使用SNI。

但是,您的第二个要求是服务器不知道连接到它的域名,这与SNI不兼容。SNI根据主机名协商要使用的正确证书。这就是通常在Apache虚拟主机中配置SSL证书的原因。Apache协商HTTPS连接,并需要知道该进程的主机名。

Apache确实具有通过重新启动服务器添加虚拟主机的功能。Apache支持不重新启动的配置重新加载。您通常会使用SSL证书为虚拟主机添加配置文件。然后运行一个命令,让Apache重新加载配置,在不重新启动的情况下开始为新主机服务。我使用Ubuntu,在Ubuntu上,命令是:

代码语言:javascript
复制
sudo service apache2 reload
票数 1
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/105440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档