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