API网关自定义域证书错误

时间:2018-03-13 22:33:32

标签: amazon-web-services ssl aws-api-gateway

我正在尝试使用自定义域设置区域API网关,而且我遇到了涉及SSL证书的问题。这就是我所做的:

  • 使用ACM,为vitalservices-3.docriot.com创建证书。
  • 在API网关中,创建了一个区域自定义域名 - vitalservices-3.docriot.com - 为其分配了vitalservices-3.docriot.com证书,并添加了从“/”到“vitalservices”的基本路径映射-3:PROD”
  • 在docriot.com的Route53托管区域中,创建了将vitalservices-3.docriot.com映射到82cgbm6s93.execute-api.us-east-1.amazonaws.com的CNAME记录。此记录具有基于延迟的路由策略,但目前它是vitalservices-3.docriot.com的唯一记录。

当我跑步时

curl https://82cgbm6s93.execute-api.us-east-1.amazonaws.com/prod

我得到了

{"message":"Missing Authentication Token"}

这是我所期望的,因为API需要Cognito身份验证。当我使用“-k”选项忽略证书错误并运行

时,我收到相同的消息
curl https://vitalservices-3.docriot.com -k

但如果我放弃-k并运行

curl https://vitalservices-3.docriot.com

我得到了

curl: (60) SSL certificate problem: Invalid certificate chain . . .

我该如何解决这个问题?

编辑:我只是在我的OS X盒子上使用curl因为我认为这是一种更简单的说明错误的方法。当我在Chrome浏览器中访问这些网址时,我会遇到类似的行为。如果输入https://vitalservices-3.docriot.com,我会在网址栏中显示红色警告三角形,并且页面上显示“攻击者可能会试图窃取您的信息......”。然后,如果我选择查看页面的选项,浏览器会显示一个页面,其中包含文本“{”message“:”Missing Authentication Token“}”,就像我使用“curl -k”时一样。因此,我认为问题不在于我的机器不信任证书颁发机构。

我附上了网址栏中点击“不安全”后看到的内容的屏幕截图,并查看了证书信息。enter image description here

2 个答案:

答案 0 :(得分:1)

curl显示的错误不是非常具体,适用于许多证书问题。在您的情况下,您可能遗漏了文件cacert.pem,该文件是来自Mozilla的一组公共证书颁发机构的证书。

您可以从CURL的网站下载cacert.pem:

cacert.pem

More information about cacert.pem

答案 1 :(得分:0)

您从API Gateway的“自定义域”的下拉列表中选择的证书不满足您所单击的dns的要求。 ACM仅对vitalservices-3.docriot.com或* .docriot.com有效。尝试使用提到的ssl更改ssl即可解决此问题。

相关问题