如何解决 API Gateway 错误“Execution failed due to configuration error: General SSLEngine problem”(由于配置错误导致执行失败: 常规 SSLEngine 问题)?

2 分钟阅读
0

Amazon API Gateway 针对我的 API 请求返回了类似于以下内容的错误: "Execution failed due to configuration error: General SSLEngine problem"

解决方法

API Gateway API 请求在后端执行 SSL 握手。成功的 API Gateway SSL 握手必须满足以下要求:

支持的 CA

CA 必须为 API Gateway 支持用于 HTTP、HTTP 代理和私有集成。要检查 CA 指纹,请在您的操作系统上运行以下 OpenSSL 命令:

Linux

openssl x509 -in cert.pem -fingerprint -sha256 -noout

openssl x509 -in cert.pem -fingerprint -sha1 -noout

Windows

openssl x509 -noout -fingerprint -sha256 -inform pem -in [certificate-file.crt]

openssl x509 -noout -fingerprint -sha1 -inform pem -in [certificate-file.crt]

未过期的有效 ACM 证书

要检查证书的到期日期,请运行以下 OpenSSL 命令:

openssl x509 -in certificate.crt -text -noout

在输出中,检查有效时间戳:

Validity
            Not Before: Apr 29 12:49:02 2020 GMT
            Not After : Apr 29 12:49:02 2021 GMT

在此输出示例中,证书在 2020 年 4 月 29 日生效,并在 2021 年 4 月 29 日之后到期。

有效的 CA 证书

通过运行以下 OpenSSL 命令检查 CA 证书配置:

openssl s_client -connect example.com:443 -showcerts

验证以下事项:

  • 中间证书的主体与实体证书的颁发者相匹配。
  • 根证书的主体与中间证书的颁发者相匹配。
  • 根证书中的主体和颁发者相同。

不超过 2048 位的证书

通过运行以下 OpenSSL 命令来检查证书的大小:

openssl x509 -in badssl-com.pem -text -noout | grep -E '(Public-Key):'

**注意:**证书大小不能超过 2048 位。

如果您的证书不符合任何要求,请先更新您的私有 CA。然后,使用 AWS Certificate Manager (ACM) 补发新证书。

相关信息

API Gateway 中 REST API 的私有集成

AWS 官方
AWS 官方已更新 6 个月前