我的子域名无法在localhost上使用SSL。
我为我的XAMPP安装生成了我的SSL证书作为“localhost”。
我通常有两个文档根源:
DocumentRoot C:\Files\PHPCode
ServerName phpcode.localhost
&安培;
DocumentRoot C:\server\xampp
ServerName localhost
如果我使用https://localhost,我可以让Chrome在SSL中使用,但它不适用于子域虚拟主机https://phpcode.localhost
我是否仅为localhost生成SSL时出错?或者我可以更改一些设置以使其有效吗?
答案 0 :(得分:0)
证书必须与URL中的名称匹配。仅为localhost
颁发的证书与使用phpcode.localhost
作为域名的网址不匹配。客户端或服务器上的任何设置都不能绕过此要求。您需要为此域使用不同的证书,或者创建包含这两个名称的证书。
答案 1 :(得分:0)
我让它工作编辑了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。