遇到这个问题的时候在网上找资料,修改配置,重启。。。搞了大半天。

add_header 的使用有些坑你一定会踩到。。。

add_header 之后每遇到{}的时候,在{}之前的所有add_header都会无效,另外,如果最终响应是返回4xx的错误时,所有的add_header均无效。

记录一下,最终的配置,Access-Control-Allow-Headers 的值是每个人的不一样的,看你自己需要允许哪些http_参数都需要添加到这个里面。

error_page   405 =200 $uri;

location / {
        add_header Access-Control-Allow-Origin $http_origin;
        add_header Access-Control-Allow-Credentials 'true';
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header Access-Control-Allow-Headers 'Content-Type,Auth-Role,Auth-Client,Auth-Token';
        add_header Access-Control-Expose-Headers 'Content-Length,Content-Range';
        if ($request_method = 'OPTIONS') {
                add_header Access-Control-Allow-Origin $http_origin;
                add_header Access-Control-Allow-Credentials 'true';
                add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
                add_header Access-Control-Allow-Headers 'Content-Type,Auth-Role,Auth-Client,Auth-Token';
                add_header Access-Control-Expose-Headers 'Content-Length,Content-Range';
                add_header Content-Length 0;
                return 204;
        }
        if (!-e $request_filename) {
                rewrite  ^(.*)$  /index.php?route=$1  last;
                break;

        }
}

标签: none

添加新评论