Apache / CodeIgniter3设置:CORS请求原因:CORS标头“ Access-Control-Allow-Origin”与“(null)”不匹配

时间:2018-07-13 15:02:29

标签: apache codeigniter cors

我已经通过CI3在LAMP堆栈上设置了RESTful API,并为所有SSL连接(VirtualHost*443);

配置了我的vHosts。
    Header always set Access-Control-Allow-Origin "*"
    Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
    Header always set Access-Control-Max-Age "1000"
    Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token, id, auth_token, cache-control"

    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} OPTIONS
    RewriteRule ^(.*)$ $1 [R=200,L]

虽然直接通过POSTMan进行的调用按预期工作,但尝试通过AJAX / jQuery调用结果到达端点并出现以下错误;

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://dev.mysite.com/Method/function. (Reason: CORS header ‘Access-Control-Allow-Origin’ does not match ‘(null)’).

(请注意,实际网址遵循方法/功能中的标准CI3原则,并使用其实际名称)。

我还尝试通过始终返回来陪审团评审CI3中的API Controller方法。

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");

但是,这没有什么不同。

该API被两个移动应用程序和一个Web应用程序击中-移动应用程序未收到任何类似的错误。但是由于它受到多种来源的打击,这就是为什么我允许任何Origin袭击我们的原因。请注意,某些自定义标头也被允许。

有人会知道是什么原因引起的,或者如何修复?

0 个答案:

没有答案