我为域名(例如 www.abc.com)设置了 SSL 证书,该域名面向客户。
在同一台服务器(linux)上,我想设置一个供网站管理员专用的子域名,admin.abc.com。
由于 htpasswd 并不是很安全,我希望能够使用 https 查看 admin.abc.com(除非有其他方法)。
那么我是否可以以某种方式使用现有的 SSL 证书来查看 admin.abc.com,即使这意味着接受来自浏览器的不匹配警告?
答案1
如果您能够将多个 IP 地址添加到虚拟主机,则可以使用两个 SSL 虚拟主机,每个虚拟主机使用两个 SSL 证书之一。每个虚拟主机都需要确定它们应该使用哪个 IP 地址,例如在 Apache Httpd 中:
<VirtualHost x.y.z.a:443>
这可能比获取通配符证书便宜,但如果您愿意付费,通配符证书是最容易设置的。
并非所有浏览器都支持 SNI(服务器名称指示),因此尽管这允许您仅使用一个 IP 地址提供多个证书,但如果它们都需要在这些浏览器中可访问,则并不合适。如果只有 www.domain.com 只需要支持较旧的浏览器,那么您仍然可以这样做,因为如果 www.domain.com SSL 证书是第一个加载的证书,那么没有 SNI 浏览器支持的用户仍然可以获得该证书。
Apache Httpd 中的 SNI 仅适用于某些较新的版本,例如在 CentOS 5 中不可用。
UCC 证书超出了您的需求,并且通常非常昂贵,因此我不建议使用它而不是通配符证书。
答案2
如果它对该主机名有效,您只需对其进行配置,就像配置证书一样。
不需要您处理 SSL 证书不匹配问题的其他选项:
- 在备用端口上运行单独的配置并购买该名称的证书。
- 设置服务器名称指示/SNI
- 购买统一通信证书/UCC 证书
依赖不受信任的证书尤其如果流量通过公共互联网传输,那么这是一个糟糕的主意。除非你每次都验证证书,否则你可能会接受一个不同的不匹配证书,这可能是一个中间人攻击,甚至不知道它。
答案3
一个解决方案(但不是最便宜的:))是购买一个通配符证书否则,只需创建一个虚拟主机并使用您已有的证书。但您需要忍受证书警告。
答案4
获取子域名的免费证书http://www.startssl.com/。这个过程很麻烦,但免费证书就是免费证书。暂时跳过通配符证书并节省一点钱。