localhost子域上的ssl证书无法正常工作

时间:2018-03-30 01:00:11

标签: apache ssl openssl xampp virtualhost

我的子域名无法在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时出错?或者我可以更改一些设置以使其有效吗?

2 个答案:

答案 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。