作为背景,我有一个位于远程 EC2 Ubuntu 实例上的 React 应用程序。同一台服务器还运行一个 Go 应用程序,侦听端口 8080(端口已从安全设置中向所有人开放)。
我正在尝试从 React 应用程序使用 Fetch API 发出请求,如下所示:
var bearer = 'Bearer ...'
return fetch('http://localhost:8080/home', {
headers: new Headers({
'Authorization': bearer
})
})
在控制台中,从 Chrome 和 Firefox,我得到:
类型错误:尝试获取资源时出现网络错误
当我替换localhost
为127.0.0.1
.
但是,使用 EC2 实例的外部 IP 可以工作(并触发 CORS 请求 - 由于“授权”标头 - 由服务器顺利处理)。
在后一种情况下,我还可以看到服务器记录了 OPTIONS 和 GET 的传入请求(在前一种情况下,两种方法都不存在日志)。
我还尝试从 EC2 机器到 CURL'inglocalhost
并且请求有效地通过,这让我认为使用 Fetch API 根本不会触发请求。
任何意见,将不胜感激。如果我做错了什么,请指出我正确的方向。