扣丁书屋

nginx处理跨域

分享一个处理跨域的Nginx配置,主要是能过`add_header`增加一些诸如`Access-Control-Allow-Methods`的Header
server
{
    listen 3002;
    server_name localhost;
    location /ok {
        proxy_pass http://localhost:3000;

        #   指定允许跨域的方法,*代表所有
        add_header Access-Control-Allow-Methods *;

        #   预检命令的缓存,如果不缓存每次会发送两次请求
        add_header Access-Control-Max-Age 3600;
        #   带cookie请求需要加上这个字段,并设置为true
        add_header Access-Control-Allow-Credentials true;

        #   表示允许这个域跨域调用(客户端发送请求的域名和端口) 
        #   $http_origin动态获取请求客户端请求的域   不用*的原因是带cookie的请求不支持*号
        add_header Access-Control-Allow-Origin $http_origin;

        #   表示请求头的字段 动态获取
        add_header Access-Control-Allow-Headers 
        $http_access_control_request_headers;

        #   OPTIONS预检命令,预检命令通过时才发送请求
        #   检查请求的类型是不是预检命令
        if ($request_method = OPTIONS){
            return 200;
        }
    }
}

最多阅读

Redis面试题(2020最新版) 2年以前  |  1888次阅读
Ubuntu16.04升级openssl到1.1.1 2年以前  |  1767次阅读
MySQL数据库面试题(2020最新版) 2年以前  |  1660次阅读
今日头条技术架构到底有多牛? 2年以前  |  1518次阅读
docker 访问宿主机网络 2年以前  |  1482次阅读
Kafka 设计详解之网络通信 2年以前  |  1251次阅读
面向数据科学家的 Docker 最佳实践 2年以前  |  1240次阅读
两万字深度介绍分布式系统原理! 2年以前  |  1165次阅读
饿了么交易系统 5 年演化史 2年以前  |  1137次阅读
CentOS 开机流程详解 2年以前  |  1136次阅读
微信支付跨平台软件架构 2年以前  |  1116次阅读
Redis面试题(2020最新版) 2年以前  |  1105次阅读
nginx处理跨域 2年以前  |  1068次阅读
API 网关从入门到放弃 2年以前  |  1049次阅读

手机扫码阅读