我正在尝试从另一个后端(用 Node.js 编写)向我的 Kirby API 发出 api 请求,但我尝试的所有内容都只会导致 ECONNREFUSED。我做错了什么?
const res = await fetch(`${apiUrl}/auth`, {
headers: {
'Authorization': `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`,
'Content-Type': 'application/json'
}
})
我尝试过HTTP和HTTPS,我尝试过不同的端点,它们都给了我相同的结果。
相比之下,直接使用我的浏览器获取相同的 URL 会为我提供一个 JSON 响应,说我未经授权(预期)。
为什么在以编程方式发出请求时它不起作用?
我的配置中有这个.php,尽管如果可以的话,我想删除那个 allowInsecure:
'api' => [
'basicAuth' => true,
'allowInsecure' => true,
],
关于如何解决此问题的任何想法?
柯比新手,所以如果这是一个新手问题,请原谅我。
这是我得到的具体错误:FetchError: request to http://localhost:8000/api/auth failed, reason: connect ECONNREFUSED 127.0.0.1:8000
显然,解决方案是使用php -S 0.0.0.0:8000
而不是使用php -S localhost:8000
启动 Kirby,然后通过http://0.0.0.0:8000/api
而不是http://localhost:8000/api
访问 API。