node.js - API Gateway 自定义域名 getaddrinfo ENOTFOUND
问题描述
我使用 AWS API Gateway 创建了一个 api,并希望为其附加一个自定义域名。我按照本教程进行了以下操作:
mydomain.io
在证书管理器(和*.mydomain.io
)上创建了新证书- 向 GoDaddy 添加了 CNAME(因为我的 CNAME 是从 Godaddy 购买的)
- 设置一个
api-dev.mydomain.io
on API gateway > Custom domain names,并将其映射到“API Mappings”中的 API 和 dev 阶段。 - 在 Route 53 上,
api-dev.mydomain.io
作为 A 记录添加并在步骤 3 中将其定向到 API(API 域名正确)。
据我所知,我相信我的设置应该是正确的,并且已经等待了 1 小时以使其“生效”。
然后我编写了一个简单的脚本来测试它,但它抛出了上述错误。
代码:
const axios = require("axios")
let baseUrl = "https://api-dev.mydomain.io"
let key = MY_API_KEY
let headers = {
headers: {
"x-api-key": key
}
}
let usersEndpoint = baseUrl + '/token?email=someemail@gmail.com'
axios.get(usersEndpoint, headers)
.then(response => {
let data = response.data
console.log(data)
})
.catch(err => console.log(err))
错误信息:
Error: getaddrinfo ENOTFOUND api-dev.mydomain.io
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
errno: 'ENOTFOUND',
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'api-dev.mydomain.io',
config: {
url: 'https://api-dev.mydomain.io/token?email=someemail@gmail.com',
method: 'get',
headers: {
Accept: 'application/json, text/plain, */*',
'x-api-key': MY_API_KEY,
'User-Agent': 'axios/0.21.1'
},
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
...
我错过了什么?
解决方案
根据评论。
问题在于它api-dev.mydomain.io
是在 Route 53 中创建的,而它是由 GoDaddy 管理的(名称服务器未更改为 Route 53)。
解决方案是在GoDaddy中创建api-dev.mydomain.io
记录,而不是在 Route 53 中。
或者,要管理 Route 53 中的域,必须更新 GoDaddy 中的名称服务器以指向 Route 53 托管区域,如使用当前 DNS 服务提供商更新 NS 记录以使用 Route 53 名称服务器中所述。
推荐阅读
- python - 我已经使用 pip 在虚拟环境中安装了“black”,但是当我运行 python -m black my_module.py 时,它显示 No module named black
- python - 如何使用 WHERE 在 python 中更新 sqlite3 记录?
- python - 如果列值在另一个数据框中不存在,则从数据框中删除行
- c++ - 如何在 Linux (CentOS) 中使用完整路径运行 Fortran 编译器和 C 编译器
- java - 为什么@MockBean 不模拟我的目标存储库类(返回 null)?
- postgresql - Query and modify list of children with arbitrary positions
- spring-security - Spring Security OAUTH2 - 如何根据客户端 ID 限制对 API 的访问?
- java - 在 Apache POI Word 文档中将表格单元格的内容居中并加粗
- security - 微软 CVRF API
- azure - 应用程序在某个时间后显示 CORS 错误 (AZURE AD)