【以下的问题经过翻译处理】 大家好,AWS的同僚们。
我遇到了一些麻烦,无法在AWS Lambda函数中设置自定义域名。我设置了一切,但我得到的响应是“缺少身份验证令牌”。
以下是重现步骤:
1. AWS Lambda - Hello World
1.1. 我进入了AWS控制台中的AWS Lambda
1.2. 我创建了一个名为“exampleService”的“Hello World”函数。
1.3. 我添加了一个API Gateway触发器“exampleService-API”,这给了我一个类似于“https://xxx.execute-api.us-east-1.amazonaws.com/default/exampleService”的API端点。
1.4. 访问API端点成功地返回“Hello from Lambda!”。
2. API Gateway - 自定义域名
2.1. 我使用AWS控制台访问AWS API Gateway
2.2. 我为“exampleService-API”添加了一个新的自定义域名,类似于:
协议=HTTP
域名= api.example.com
端点配置=边缘优化
ACM证书=*.example.com,我在许多其他项目中使用相同的证书
基本路径映射=
/ example-> exampleService-API:default
2.3. 它给我返回了一个像xxx.cloudfront.net的目标域名
3. Route 53
3.1. 我使用AWS控制台进入了AWS Route 53
3.2. 添加了以下记录:
Name = api.example.com
Type = A - IPv4 address
Alias Target = xxx.cloudfront.net
Routing Policy = Simple
Evaluate Target Health = No
4. 尝试
如果我尝试访问api.example.com/example,它将返回:
{
"message": "Missing Authentication Token"
}
我不知道该怎么做。我很确定自定义域名基础路径是正确的,如果我尝试访问其他路径比如 api.example.com/ or api.example.com/somethingelse, 他会返回 禁止访问 (Forbidden)