我的SSL遇到了一些问题。 我有Digicert的CA签名通配证书。 我已经正确安装了它,并试图通过https访问我的网站comp.org和www.comp.org。 https://www.comp.org工作得很好。 但是,当我尝试直接访问https://comp.org时 ,我在google chrome上收到了一个connection_timed_out错误。 为了validation我的证书确实是通配符,我运行了命令:
openssl x509 -in /root/comp.crt -noout -text | grep Subject:
我的结果如下:
Subject: C=US, L=Town, ST=State, O=Comp, Inc., CN=*.comp.org
据我的理解,我应该可以访问comp.org和www.comp.org这个,对吧? 但是,只有www.comp.org正在为我工作。 我最好的猜测是,这与我设置虚拟主机的方式有关。 目前,我在default-ssl中的设置是:
<VirtualHost *:443> ServerAdmin webmaster@localhost ServerName *.comp.org DocumentRoot /var/www/ #All the rest of that SSLEngine jazz
要清楚,我不想做非www到wwwredirect。 我知道这种方法是一种可行的解决方法,但是我想将其作为一种学习体验,以便更好地理解虚拟主机和SSL证书的工作方式,因为我对这一切都相当陌生。
因此,我希望我的客户能够访问comp.org和www.comp.org。 顺便说一句,这两个网站显示相同的内容,所以我不需要指定不同的path或类似的东西在虚拟主机。 试图在这里学习。
证书,据我所知,是正确的。
您应该添加一个ServerAlias行,并更改ServerName以明确使用www.comp.org:
ServerName www.comp.org ServerAlias comp.org
或相反亦然。
ServerName comp.org ServerAlias www.comp.org
唯一不同的是在日志文件中使用的主机名,它将在ServerName子句中指定。