最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 网络安全 > 安全技术 >
nginx CORS 跨域共享配置失败的时候会怎样?
CSDN发表于 2020-09-05 17:57 次浏览

         nginx CORS 跨域共享配置失败的时候会怎样?很多朋友对nginx CORS 跨域共享配置不是很了解,今天我们来说说nginx CORS 跨域共享配置怎么操作,成功和失败时的反应是怎样的?

    # 可以设置通配符*,允许被所有域使用
    add_header 'Access-Control-Allow-Origin' '*';
    # 允许客户端携带验证信息,例如 cookie 之类的
    add_header 'Access-Control-Allow-Credentials' 'true';
    # 是在响应预检请求的时候使用,用来指明在实际的请求中,可以使用哪些自定义 HTTP 请求头
    add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken';
    # 表示允许的跨域请求的方法,在当前请求的域被允许后,还要检查当前请求的方法是否被允许
    add_header 'Access-Control-Allow-Methods' 'GET,POST, OPTIONS';
    # 响应报头指示哪些报头可以公开为通过列出他们的名字的响应的一部分
    add_header 'Access-Control-Expose-Headers' 'X-Auth-Token';
    # 表示预请求的结果的有效期是多久,单位为秒
    add_header 'Access-Control-Max-Age' 1728000; 
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Max-Age' "3600" ;
        add_header 'Access-Control-Allow-Origin' 'http://pm.example.com';
        add_header 'Access-Control-Allow-Headers' 'DNT,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,X-Auth-Token';
        add_header 'Access-Control-Expose-Headers' 'X-Auth-Token';
        return 200;
    }

重启Nginx

/usr/local/openresty/nginx/sbin/nginx -s reload

测试跨域请求

# 测试POST请求(成功)
curl -I -X POST -H "Origin: http://example.com" https://www.aaa.top/
# 测试OPTIONS请求(成功)
curl -I -X OPTIONS -H "Origin: http://example.com" https://www.aaa.top/
# 测试PUT请求(不成功)
curl -I -X PUT -H "Origin: http://example.com" https://www.aaa.top/

成功时,响应头是如下所示:

不成功时,响应头如下所示:

标签:nginx CORS 跨
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐