【Nginx】跨域配置 正则匹配 $http_origin

开发需要一个满足正则匹配的跨域配置,就是指 只有满足正则匹配的域名($http_origin)才可以允许跨域
参考配置

# map需要定义在Server块外面
map $http_origin $allow_origin_xxx {
    ~^https?://(.*\.)?airdrop.domain.com(:\d+)?$ $http_origin;
    ~^https?://(.*\.)?dev.domainddd.com(:\d+)?$ $http_origin;
    default "";
}

# 以下为仅为location部分配置
location / {
        if ($request_method ~* '(GET|POST|DELETE|PUT)') {
            add_header 'Access-Control-Allow-Credentials' "true" always;
            add_header Access-Control-Allow-Origin $allow_origin_xxx always;
        }
        if ($request_method = OPTIONS ) {
            add_header Access-Control-Allow-Origin $allow_origin_xxx always;
            add_header 'Access-Control-Allow-Credentials' "true" always;
            add_header "Access-Control-Allow-Methods" "GET, POST, OPTIONS, HEAD";
            add_header "Access-Control-Allow-Headers" "Authorization, Origin, X-Requested-With, Content-Type, Accept";
            return 200;
        }
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_read_timeout 150;
        proxy_pass http://server;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值