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

问题描述 投票:0回答:2

我有一个问题,我的子域不适用于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时出错?或者我可以更改一些设置以使其工作吗?

apache ssl openssl xampp virtualhost
2个回答
0
投票

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


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都很好用。

© www.soinside.com 2019 - 2024. All rights reserved.