这是我的第一个问题:在同一服务器上运行的 IIS 和 Tomcat 上的 SSL并得到了答复。谢谢。
我正在将我们的 Web 应用从 2 台服务器迁移到 1 台服务器。目前这些 Web 应用可通过 3 个不同的别名进行访问。
最后迁移完成后,我会将这 3 个别名移动到这 1 台服务器上。
Web 应用程序在 IIS(默认端口)和 Apache Tomcat 7.x(端口 8080)中运行。
到目前为止一切都很好。我想引入 SSL。因此,我向我们公司的认证经理申请了证书,并且在申请中我将名称作为别名之一,而不是服务器名称。
我的问题是,尽管使用“A”别名请求,我是否可以在 IIS 和 Tomcat 上使用相同的证书,或者我是否需要为每个别名申请多个证书?
答案1
这取决于您的系统如何配置。
如果您请求服务b.example.com
但证书仅覆盖,a.example.com
那么从技术上讲,该服务将正常工作,但只有在出现证书错误后才会工作。该证书错误是因为您的主机名与证书发送的内容不匹配。用户将看到一条可怕的错误消息。
这里有三个主要的解决方法:
- 获取涵盖三个别名的证书,例如
a.example.com
、b.example.com
、c.example.com
(这些证书称为 SAN 证书,其中 SAN 代表主题备用名称)。这样,一个证书对所有这三个服务都有效 - 获取三个单独的证书。这可能比获取 SAN 证书更便宜,因为有时 SSL 提供商会选择为 SAN 证书收取一大笔费用(因为他们可以这样做)
- 如果您的用户都使用现代 Web 浏览器和设备,并且您的 Web 服务器支持它,则您可以使用 SNI(服务器名称指示)并将所有三个证书放在一个 IP 地址上
- 如果您的用户使用的是较旧的浏览器或设备,或者您的 Web 服务器不支持 SNI,那么您需要为您的设备分配三个 IP 地址,并将每个证书绑定到一个 IP 地址
- 获取通配符证书
*.example.com
。有时这比获取 SAN 或多个单独的证书更便宜、更容易。但它不支持覆盖a.example.com
和a.example.org
,foo.a.example.com
因为通配符仅适用于一个域上的一个级别(除非您将 SAN 与通配符结合起来,但这很快就会变得非常昂贵)。
一旦完成迁移,只要私钥完好无损,就可以多次使用该证书。只需在两个 Web 服务器上安装私钥和证书,即可在迁移期间继续从两个服务器提供相同的证书。