我们有一个子域名(https://portal.company.com) 是不同主机名的别名(在 CNAME 记录中定义)。
此动态 DNS 主机名 (https://portal.dlinkddns.com) 解析为我们办公室的公共 (动态) IP 地址。在办公室,路由器配置为将端口 443 转发到运行 (Spiceworks) Web 门户的服务器,员工可以从家中访问该门户。即使办公室的公共 IP 地址发生变化,子域仍会将员工引导到 Web 门户。一切都运行良好 - 除了员工首次连接到网站时看到的 (预期) SSL 证书错误。
我刚刚购买了 SSL 证书,现在正在服务器上完成证书签名请求。
这就引出了我的问题……
完成证书签名请求时,对于“通用名称(例如服务器 FQDN 或您的名称)",我应该输入什么?
我应该输入规范名称(https://portal.dlinkddns.com)或别名(https://portal.company.com)?服务器本身的 FQDN 是“servername.companyname.local”- 所以我不能使用它。
任何建议或想法都将非常感谢!
答案1
您使用服务访问时所用的名称。因此,如果您的门户客户端访问https://portal.dlinkddns.com,请使用 portal.dlinkddns.com。如果他们访问https://portal.company.com,使用 portal.company.com。
如果您的客户端将同时访问两者,请获取一个证书,其中一个名称为 DN,另一个名称为 subjectAltName,以便可以同时用于两者。
如果我没看错的话,浏览器中可以访问的内容是https://portal.company.com,因此就您而言:获取该名称的证书。
答案2
如果您有域名 company.com(例如)并且希望证书的通用名称“正常工作”,那么请考虑使用基于通配符的通用名称,如下所示:*.company.com
那么 SSL 证书应该适用于https://company.com和https://www.company.com以及您选择使用的任何子域名。
注意:我只在使用 openssl 命令创建的自签名证书中使用过此功能,但它也可能适用于“真实”证书;我不明白为什么它们不行。(但我听说通配符证书在购买时可能比非通配符证书更贵。)
遗憾的是,openssl 命令在要求输入通用名称时没有提供此信息作为提示。当我为测试服务器自签名 SSL 证书时,我通常使用“*.company.com”格式的通用名称。