我在我们的服务器上安装了多个 SSL,从未出现任何问题。但我第一次必须创建通配符 SSL,当我将其添加到虚拟主机时,apache 崩溃(php 不起作用),但没有错误日志...
这是我在虚拟主机中执行的典型 SSL。
<VirtualHost XXX.XX.XXX.109:443>
ServerName www.test.ca
ServerAlias test.ca
DocumentRoot /home/blahblah/blahb;ah
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/test.ca/test.ca.crt
SSLCertificateKeyFile /etc/apache2/ssl/test.ca/test.ca.key
</VirtualHost>
这样可行,
现在对于我的通配符 SSL,我做了:
<VirtualHost XXX.XX.XXX.110:443>
ServerName test2.ca
ServerAlias *.test2.ca
DocumentRoot /home/blah/blah/
# SSLEngine on
# SSLCertificateFile /etc/apache2/ssl/test2.ca/test2.ca.crt
# SSLCertificateKeyFile /etc/apache2/ssl/test2.ca/test2.ca.key
</VirtualHost>
// 我注释了这 3 行,因为如果不这样做它就会崩溃。
为了创建我的密钥,我执行了“ openssl genrsa -out {domainname}.key 1024 ”,为了创建我的 crt,我去了 trustico 并填写了我的所有信息,然后它就帮我生成了
有任何想法吗?
谢谢
答案1
因此,看起来我的初始私钥文件有问题。我重新创建了 .key、.csr 和 .crt 并将其启用,然后所有网站仍可正常运行。
为了使证书发挥作用,我确实需要 SSLCertificateChainFile。
感谢大家
答案2
您是否在 SSL 证书中使用 SubjectAltName 属性?
如果是这样,那我不明白
使用规范名称
在您的虚拟主机指令中。我假设您也为每个 ServerName 指令设置了单独的虚拟主机指令。