Apache 2.4 / SSL 证书错误:AH01903:无法配置 CA 证书链

Apache 2.4 / SSL 证书错误:AH01903:无法配置 CA 证书链

我最近必须在 Apache 2.4/Mod_ssl 服务器上更新我的一个 SSL 证书。

我有 2 个 Vhost,没有 SNI,每个都在单独的 NIC 上运行。到目前为止,证书都是 Globalsign OrganizationSSL,一个特定于 URL,另一个是通配符。所有这一切都运行良好。

我的客户想要一个扩展验证 SSL。我下载了此链运行所需的根 CA 和中级证书。但在切换证书时,我的 Apache 拒绝初始化该链。

我有以下错误:

  • Apache 日志:[ssl:emerg] [pid 7394:tid 140377904683136] AH02311:初始化 mod_ssl 时发生致命错误,退出。
  • Vhost 日志:[ssl:emerg] [pid 7394:tid 140377904683136] AH01903:无法配置 CA 证书链!

我的 Vhost SSL 配置:

Vhost 1(组织 SSL):

SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ALL:!ADH:!EDH:!DHE:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLHonorCipherOrder     on
    SSLCertificateFile /path/to/organization.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLCertificateChainFile /path/to/intermediate.pem

Vhost 2(扩展验证 SSL):

SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCACertificateFile /path/to/gs_root_ca.crt
    SSLCertificateChainFile /path/to/intermediate.crt
    SSLCertificateFile /path/to/extended_validation.crt
    SSLCertificateKeyFile /path/to/server2.key

我不是 SSL 专家,我不明白为什么扩展验证和组织 SSL 证书不能共存。

我尝试删除一个 Vhost,另一个 Vhost 运行正常。因此,我被迫禁用最少使用的 Vhost,以便主要生产后台能够正常工作。

您是否遇到过此类错误?这是正常现象吗?我该怎么做才能让我的两个网站再次运行?

感谢您的专业知识!

答案1

您的设置不正确。

我们来回忆一下:

  • SSL证书密钥文件加载私钥(你做得很好)
  • SSL证书文件加载服务器证书链。这是服务器证书及其签名 CA 从叶(证书)到根(更高级别的 CA)排序。
  • SSL证书链文件 已弃用在 apache 2.4 中,因此删除这一个。
  • SSLCA证书文件为将使用客户端证书通过 SSL 进行身份验证的客户端加载 CA。这是您要用于 SSL 客户端身份验证的然后。

边注:您的密码套件乍一看似乎非常不正确且不安全。值得检查一下是否也进行了更改。

编辑根据评论。 对于 2.4.6 及更早版本,你应该

  • SSL证书文件加载服务器证书
  • SSL证书链文件加载服务器证书 CA 链
  • SSLCA证书文件为将使用客户端证书通过 SSL 进行身份验证的客户端加载 CA。这是您要用于 SSL 客户端身份验证的然后。

相关内容