如何排查 API Gateway 错误“由于配置错误而执行失败:一般 SSLEngine 问题”?

1 分钟阅读
0

Amazon API Gateway 针对我的 API 请求返回类似于以下内容的错误: “由于配置错误而执行失败:一般 SSLEngine 问题”

解决方案

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

支持的 CA

API Gateway 必须支持 CA,才能实现 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 私有集成

AWS 官方
AWS 官方已更新 1 年前