我要访问一个跨域的资源,我已经知道这个资源允许跨域访问,如下图;
于是我本地写了一个demo,利用axios获取这个远程的资源,成功获取了,如下图
这个时候问题出来了,我刚才是直接利用chrome直接打开的
我把这个demo上传到云服务器上,利用域名访问,结果浏览器给我报错,说,请求的资源没有access-control-allow-origin头?我?头呢?这个时候控制台的报错如下
,我打开network,查看请求失败的那个资源,如下
我进一步去看了一下这个请求资源的响应头,发现一个奇怪的东西,他的头真不见了,
响应头里面允许跨域的响应头不见了.
我很疑惑,资源被设置了允许跨域访问是毋庸置疑的,但是直接在浏览器允许,可以获取消息,响应头也正常
但是放到服务器上,与跨域相关的响应头都没了,我很疑惑是谁给屏蔽的,nginx还是linux的防火墙,我获取资源的那个api地址是:
https://api.asilu.com/geo/