我正在尝试使用自定义域设置区域 API 网关,但遇到了涉及 SSL 证书的问题。这是我所做的:
- 使用 ACM,为vitalservices-3.docriot.com 创建了证书。
- 在API网关中,创建一个区域自定义域名--vitalservices-3.docriot.com--为其分配vitalservices-3.docriot.com证书,并添加从“/”到“vitalservices-3”的基本路径映射:产品”。
- 在 docriot.com 的 Route53 托管区域中,创建了一条 CNAME 记录,将 importantservices-3.docriot.com 映射到 82cgbm6s93.execute-api.us-east-1.amazonaws.com。该记录具有基于延迟的路由策略,但目前它是 importantservices-3.docriot.com 的唯一记录。
当我跑步时
curl https://82cgbm6s93.execute-api.us-east-1.amazonaws.com/prod
I get
{"message":"Missing Authentication Token"}
这正是我所期望的,因为 API 需要 Cognito 身份验证。当我使用“-k”选项忽略证书错误并运行时,我收到相同的消息
curl https://vitalservices-3.docriot.com -k
但是如果我删除 -k 并运行
curl https://vitalservices-3.docriot.com
I get
curl: (60) SSL certificate problem: Invalid certificate chain . . .
我怎样才能解决这个问题?
编辑:我只是在我的 OS X 机器上使用curl,因为我认为这是说明错误的更简单的方法。当我在 Chrome 浏览器中访问这些 URL 时,我会遇到类似的行为。如果输入https://vitalservices-3.docriot.com https://vitalservices-3.docriot.com,我在 URL 栏中看到红色警告三角形,并且页面显示“攻击者可能试图窃取您的信息......”。然后,如果我选择无论如何查看页面的选项,浏览器都会显示一个带有文本“{”message”:“Missing Authentication Token”}”的页面,就像我使用“curl -k”时一样。因此,我不认为问题是我的机器不信任证书颁发机构。
I've attached a screenshot of what I see when I click "Not Secure" in the url bar and look at the certificate info.
curl 显示的错误不是很具体,适用于许多证书问题。就您而言,您可能丢失了该文件cacert.pem
,这是来自 Mozilla 的公共证书颁发机构的证书捆绑包。
您可以从 CURL 的网站下载 cacert.pem:
cacert.pem http://curl.haxx.se/ca/cacert.pem
有关 cacert.pem 的更多信息 https://curl.haxx.se/docs/caextract.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)