localhost 子域上的 ssl 证书不起作用

ssl certificate on localhost subdomain not working

我有一个问题,我的子域无法在本地主机上使用 SSL。

我为 XAMPP 安装生成了 "localhost" 的 SSL 证书。

我通常有两个文档根目录:

DocumentRoot C:\Files\PHPCode
ServerName phpcode.localhost

&

DocumentRoot C:\server\xampp
ServerName localhost

如果我使用 https://localhost, but it wont work for the subdomain virtualhost https://phpcode.localhost

,我可以让 Chrome 在 SSL 中工作

我是否在仅为本地主机生成 SSL 时出错了?或者我可以更改一些设置以使其工作吗?

证书必须与 URL 中的名称匹配。仅为 localhost 颁发的证书不会匹配使用 phpcode.localhost 作为域名的 URL。客户端或服务器上的任何设置都无法绕过此要求。您需要为此域使用不同的证书或创建包含这两个名称的证书。

我让它开始工作,编辑了 v3.ext 文件,并将 altnames 设置为两个主机:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost
DNS.2 = phpcode.localhost

然后使用:

bin\openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365 -sha256 -extfile v3.ext

一切都很好 Chrome Edge 工作正常。