【问题标题】:Apache configuring sslApache 配置 ssl
【发布时间】:2014-03-19 21:00:25
【问题描述】:

我有以下

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 行有什么问题?

【问题讨论】:

  • Java 最近更改了他们的安全策略。按照java.com/en/download/help/java_blocked.xml 此处的说明进行操作,以确保它不仅仅是 java。
  • 我很困惑,因为它在两种情况下都提供相同的证书。

标签: php apache ssl https


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-04-13
    • 2011-05-06
    • 1970-01-01
    • 2014-08-18
    • 2018-08-04
    • 2013-08-16
    • 2012-11-18
    • 2012-12-23
    • 1970-01-01
    相关资源
    最近更新 更多