You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从AWS EC2访问阿里云证书站点时出现SSL证书验证错误

解决AWS EC2/Amazon Linux 2中阿里云托管网站SSL证书验证失败问题

问题根源

你之前的操作只抓取了服务器叶子证书,但SSL证书验证需要完整的信任链(叶子证书 → 中间CA证书 → 根CA证书),单独的叶子证书无法通过系统信任校验,这就是openssl verify和curl --cacert都失败的核心原因。另外Amazon Linux 2默认的根证书包可能缺少阿里云证书对应的根CA,或者版本过旧导致无法识别。

分步解决方案

  1. 抓取完整的证书链
    用openssl s_client加上-showcerts参数,一次性导出服务器返回的所有证书(包括叶子证书、中间CA证书):

    openssl s_client -connect solarsendpro.intelbras.com.br:443 -showcerts </dev/null 2>/dev/null | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p' > full_chain.pem
    
  2. 更新系统根证书包
    先升级Amazon Linux 2自带的根证书,确保包含最新的信任CA:

    sudo yum update ca-certificates -y
    
  3. 验证完整证书链
    使用系统根证书验证导出的完整证书链:

    openssl verify -CAfile /etc/pki/tls/certs/ca-bundle.crt full_chain.pem
    

    如果验证仍失败,可使用Mozilla官方维护的最新根证书包(自行获取后保存为cacert.pem)进行验证:

    openssl verify -CAfile cacert.pem full_chain.pem
    
  4. 用curl正常访问
    验证通过后,用系统根证书访问目标网站:

    curl --cacert /etc/pki/tls/certs/ca-bundle.crt --capath /etc/pki/tls/certs https://solarsendpro.intelbras.com.br -v
    

    若使用Mozilla证书包,则替换为:

    curl --cacert cacert.pem https://solarsendpro.intelbras.com.br -v
    

长期解决方法

如果需要让所有系统工具默认信任该证书链,可将完整证书链追加到系统根证书bundle中:

sudo cat full_chain.pem >> /etc/pki/tls/certs/ca-bundle.crt

内容的提问来源于stack exchange,提问作者Julio Melo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 02:18:21