Apache配置ssl

时间:2014-03-19 21:00:25

标签: php apache ssl https

我有以下

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>

我有一个Java程序,使用https访问上面的url。当我用ip地址注释掉VirtualHost行并取消注释通配符行时,Java程序给了我一个“peer not authenticated”异常。当我保持原样时,Java程序按预期工作。我想这样做的主要原因是我有其他子域我定义其他部分。

使用通配符VirtualHost线有什么问题?

1 个答案:

答案 0 :(得分:0)

问题是通过定义IP地址正在使用该指令。但是,当我使用*:443指令时,我的服务器名称为www.myDomain.com,当我尝试访问该页面时,我没有访问www,因此未使用此虚拟主机块。但是在不同的配置文件中有一个_default:443指令没有定义SSLCACertificateFile指令,所以CA证书没有被发送,所以Java没有得到CA证书。

我的解决方案是:使用ServerName创建一个*:443指令而不使用www