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

通过Google Cloud Function API访问SAP URL时遇证书验证错误求助

解决GCP Cloud Function通过AWS负载均衡器访问SAP PI的证书验证错误

问题概述

部署在GCP的Cloud Function通过AWS负载均衡器访问SAP PI时,出现SSL证书验证错误:Error: unable to verify the first certificate。

核心原因

该错误通常是由于AWS负载均衡器的SSL证书链不完整,或者GCP Cloud Function的默认信任池中不包含证书的根/中间证书,导致客户端无法完成证书链的验证。

解决方案

1. 检查并修复AWS负载均衡器的证书链配置

  • 登录AWS控制台,确认负载均衡器绑定的SSL证书包含完整的证书链(服务器证书 + 中间证书 + 根证书)。很多场景下仅上传了服务器证书,缺少中间证书会导致客户端验证失败。
  • 使用命令行工具验证证书链完整性:
    openssl s_client -connect <你的AWS负载均衡器域名>:443
    
    查看输出中的Certificate chain部分,确认存在多层证书(从服务器证书到根证书的完整链路)。

2. 在Cloud Function中手动配置信任证书

如果负载均衡器使用私有CA签发的证书,或根证书不在GCP默认信任池内,需手动导入完整证书链:

  • 将包含根证书、中间证书的完整证书链保存为.pem文件
  • 在代码中使用请求库时指定CA证书,以Axios为例:
    const axios = require('axios');
    const https = require('https');
    const fs = require('fs');
    
    // 加载证书链文件(注意Cloud Function中的文件路径需正确)
    const trustedCa = fs.readFileSync('./certificate-chain.pem');
    const httpsAgent = new https.Agent({ ca: trustedCa });
    
    // 发起请求时使用自定义Agent
    axios.get('https://你的AWS负载均衡器域名/目标API路径', { httpsAgent });
    

    生产环境建议将证书存储在GCP Secret Manager中,避免硬编码。

3. 临时绕过证书验证(仅用于测试排查)

仅在测试阶段临时使用,禁止用于生产环境:

const axios = require('axios');
const https = require('https');

const httpsAgent = new https.Agent({ rejectUnauthorized: false });
axios.get('https://你的AWS负载均衡器域名/目标API路径', { httpsAgent });

内容的提问来源于stack exchange,提问作者Yogesh Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:01:05