我有以下几点
NameVirtualHost *:443
<VirtualHost 55.55.55.55:443>
#<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /path/to/cert/myCert.crt
SSLCertificateKeyFile /path/to/key/myKey.key
SSLCACertificateFile /path/to/bundle/bundle.crt
ServerAdmin info@myDomain.com
ServerName www.myDomain.com
DocumentRoot /var/www/html/
</VirtualHost>我有一个使用https访问上述url的Java程序。当我注释掉带有ip地址的VirtualHost行并取消对通配符行的注释时,Java程序给出了一个"peer not authenticated“异常。当我将其保留为原样时,Java程序将按预期工作。我想这样做的主要原因是我有其他的子域,在那里我定义了其他的部分。
使用通配符VirtualHost行有什么问题?
发布于 2014-03-20 05:52:33
问题是,通过定义IP地址,该指令被使用。但是,当我使用*:443指令时,我将servername设置为www.myDomain.com,并且当我试图访问页面时,我没有访问www,所以这个虚拟主机块没有被使用。相反,在另一个配置文件中有一个_default:443指令,该指令没有定义SSLCACertificateFile指令,因此不会发送CA证书,所以Java不会获得CA证书。
我的解决方案是:使用不带www的ServerName创建*:443指令。
https://stackoverflow.com/questions/22517986
复制相似问题