Nginx网络浏览器CORS问题
问题描述:
我正在使用一个外部API的AngularJS应用程序,我有一个奇怪的问题(CORS)。我做了很多研究并没有解决这个问题。Nginx网络浏览器CORS问题
当我打我的API时,预检请求很好(状态204无内容), ,但是当服务器用另一个状态码比2xx(200,204等等)响应时,我得到了CORS问题。
如果我的服务器发送回2xx作为状态代码没问题,我们没有CORS问题,但是如果发送另一个状态代码是问题。
API: Sylex(PHP框架)下运行的Nginx
前应用: AngularJS - 使用的WebPack
XHR VIEW:
控制台CORS错误:
答
搜索的一天,我想通了其中CORS是从哪里来后。 Nginx的配置没问题。 这是API。
在预检请求(OPTIONS)服务器让通过了请求,因为NGINX允许的原点和头(存取控制允许来源,访问控制 - 允许报头),
但是当API发回响应时,标题没有设置。
我通过添加存取控制允许来源和访问 - 控制 - 允许报头到响应固定它。
重要提示:我发现数据在Web浏览器上的200状态代码的响应中无法恢复。 要修复它删除头在别人的反应增加(5XX,4XX,等..) (我不知道,如果它只是在我的情况)
我还没有开发的API,这就是为什么它花了我一天的时间来弄清楚。希望我会帮助有人用这个用例:)