安装在子域中的单域 SSL 证书显示在另一个子域中

安装在子域中的单域 SSL 证书显示在另一个子域中

安装在子域中的单域 SSL 证书显示在另一个子域中

服务器信息:

Ubuntu 14.04 Apache2、Mysql、PHP7

控制面板 ISPConfig 3.1

所有域名使用单一 IP

我已经安装并运行:

域名.ltd

sub1.domain.ltd sub2.domain.ltd sub3.domain.ltd sub4.domain.ltd sub5.domain.ltd 等等

正如标题所述,我从 RapidSSL 购买了单个域名 sub1.domain.ltd 的单个 SSL 证书

但是当我检查sub2.domain.ltd

证书中的通用名称均与输入的名称 (sub1.domain.ltd) 不匹配。在 Web 浏览器中访问此站点时,您可能会收到错误。了解有关名称不匹配错误的更多信息。

是安装错误吗?如何安装?如何正确安装

或者每个子域名不能拥有自己的独立 SSL 证书或 IP 地址

答案1

当您拥有一台具有多个 SSL/TLS 主机名的服务器时,只有几种方法可以成功完成:

  • 单个证书,其中所有主机名均列为主题备用名称(SAN - 证书扩展)
  • 或多个证书,服务器和客户端均支持 SNI(服务器名称指示 - SSL/TLS 协议功能),并且每个证书与特定命名的虚拟主机相关联
  • 或多个证书,每个证书都在其自己的服务或 Apache 虚拟主机上,每个都分配有单独的 IP 地址

最后一个选项是最兼容旧版本的,但显然难以实现,因为今天为单个服务器获取多个公共 IP 地址可能并不容易。

第二个选项可能是您计划使用的,但您的客户端或服务器缺少 SNI 支持,或者存在配置错误。

检查您的 Apache 错误日志。如果它显示:

You should not use name-based virtual hosts in conjunction with SSL!!

当您启动 Apache 时,则表明您的 Apache 版本不支持 SNI。如果 Apache 中存在 SNI 支持,则应该显示:

[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)

Apache wiki 中的此页面更多细节。

维基百科列出了引入 SNI 支持的网络服务器和浏览器版本。

相关内容