我在 API Gateway 后面有一个 REST API 服务。
我有一个 Route53 托管区域:myAWSHostedDomain.myCompanyDomain.com
我还在 ACM 中创建了一个证书:myApp.myAWSHostedDomain.myCompanyDomain.com
该证书有一个附加域:myApp.myCompanyDomain.com
证书已签发,没有任何问题,两个域均已验证。
在公司非 AWS 托管区域 myCompanyDomain.com
,我有一个 CNAME 指向 myApp
至myApp.myAWSHostedDomain.myCompanyDomain.com
.它解决了。
我已经使用该证书为该 API 网关配置了一个自定义域。显示的名称是myApp.myAWSHostedDomain.myCompanyDomain.com
.这很好,因为它是该证书的主要域。
我遇到的问题是对 myApp.myCompanyDomain.com
的所有请求以 失败403禁止错误,而在 myApp.myAWSHostedDomain.myCompanyDomain.com
上的相同请求工作得很好。应用程序代码与它无关,对 favicon.ico 的请求的行为方式相同。
API 网关端点配置为 地区 一。
会不会是 API Gateway 的自定义域只从证书中获取主域而不能与其他域一起使用?有没有办法来解决这个问题?
最佳答案
因此,问题在于请求失败并出现 403 禁止错误,因为 API Gateway 无法设置正确的 Host header ,这是请求成功所必需的。
如果我做:
curl https://myApp.myCompanyDomain.com/favicon.ico -H "Host:myApp.myAWSHostedDomain.myCompanyDomain.com"
然后,它起作用了。因此,这里的选项如下:
myApp.myCompanyDomain.com
创建 DNS 记录. myApp.myCompanyDomain.com
工作而不是 myApp.myAWSHostedDomain.myCompanyDomain.com work
. 关于amazon-web-services - 403 Forbidden on API Gateway with Custom domain 附加域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68085186/