我目前在AWS上部署了lambda函数。 Lambda的URL为https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com/stage_name_here
。
我在DNS中创建了一个CNAME条目,该条目指向my.custom.name.com
到Lambda的底部:https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com/
。我没有域name.com
。这纯粹是一个CNAME参考,我的DNS会将其解析为lambda基数。如果我在nslookup
上运行my.custom.name.com
,它会正确解析并指向https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com/
我可以在调用https://xxxxxxxxxx.execute-api.us-east-1.amazonaws.com/stage_name_here
时通过Postman正确使用lambda,但是,如果我尝试使用my.custom.name.com/stage_name_here
的任何变体,它将返回
{
'message': 'forbidden'
}
使用我的自定义CNAME能够引用我的lambda函数的正确方法是什么?
AWS API网关控制台具有称为custom domains
的内置机制。正是您所需要的。您需要按照@LostJon指出的进行设置。
基本步骤是:
api.example.com
,在此步骤中,选择通过步骤1获得的域的SSL证书basepath
以将basepath
指向您的API。例如,基本路径/payment
指向您的api,这使其可以通过https://api.example.com/payment
访问此过程还将为您提供例如[email protected]的Cloudfront分发地址。A
记录,以将子域api.example.com
指向云的分发地址,例如d3fgrtgh @ cloudfront.net`参考:https://hackernoon.com/how-to-setup-subdomain-for-aws-api-gateway-d526a9fd6722