nginx上加好Access-Control-Allow-Origin头部,跨域依旧失败的问题

关于CORS机制的详细解释这里就不多做介绍了,相关的文档资源也很多,推荐查看MDN上“HTTP访问控制(CORS)”文章的讲解。这里主要记录一下,我在nginx上做好配置,已经添加好了“Access-Control-Allow-Origin”头部之后,跨域依旧报错的问题。

如下是nginx的配置片段,已经加好了相应的头部:

但是前端访问时还是报错:

原因在于此接口的返回码是400,而按照nginx官方文档针对add_header指令的说明,上面的配置,“add_header”指令默认只会给2xx和3xx开头的部分http返回码加上头部,除此返回码之外的其他响应是不会加上对应头部的。

解决办法,nginx文档也已说明,只需要在指令后面加上“always”参数即可。


更改完配置之后,使用“nginx -sreload”命令加载最新配置。前端重新请求接口,报错消失。


参考资料:

HTTP访问控制(CORS)

ngx_http_headers_module

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容