![无域名的子域名 SSL 证书](https://linux22.com/image/599814/%E6%97%A0%E5%9F%9F%E5%90%8D%E7%9A%84%E5%AD%90%E5%9F%9F%E5%90%8D%20SSL%20%E8%AF%81%E4%B9%A6.png)
我的内联网中有一个网络服务器,可以通过以下方式访问subdomain.domain.com
和简单来说subdomain
。创建了 SSL 证书,因此subdomain.domain.com
当我仅通过 https 访问时会出现警告subdomain
。
知道如何解决这个问题吗?(是的,我不太了解 SSL 服务器配置:-)
答案1
您可以在签名时简单地将备用名称添加到证书中。例如,如果您使用 OpenSSL 并server_ca
在签名时使用部分(例如openssl ca -config my.conf -name server_ca -in server.req -out server.crt
),请确保在签名时使用的配置文件中有一个类似于以下内容的部分:
[server_ca]
...
x509_extensions = server_cert
[server_cert]
...
subjectAltName = @server_alt_names
[server_alt_names]
DNS.1 = subdomain.domain.com
DNS.2 = subdomain
要验证您的证书,请将其传输到openssl x509 -noout -text
。您应该在输出中看到如下一行:
X509v3 Subject Alternative Name:
DNS:subdomain.domain.com, DNS:subdomain
我看到了关于 SNI 的评论,但如果您只是签署证书,SNI 根本无关紧要(只要两个名称应该指向相同的内容)。此方法肯定适用于 Firefox 和 IE,但对 Chrome 和 wget 则完全无效。事实上,如果您将名称列为备用名称,证书中的 CN 甚至无关紧要。