方法一:

  1. server {
  2. .....
  3. set $cors_origin "";
  4. if ($http_origin ~* "a.xxxx.com") {
  5. set $cors_origin $http_origin;
  6. }
  7. if ($http_origin ~* "b.xxxx.com") {
  8. set $cors_origin $http_origin;
  9. }
  10. if ($http_origin ~* "c.xxxx.com") {
  11. set $cors_origin $http_origin;
  12. }
  13. add_header 'Access-Control-Allow-Origin' $cors_origin;
  14. add_header 'Access-Control-Allow-Credentials' 'true';
  15. add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
  16. .....
  17. }

方法二:

  1. map $http_origin $cors_origin{
  2. default 0;
  3. "~http://a.xxxx.com" http://a.xxxx.com;
  4. "~http://b.xxxx.com" http://b.xxxx.com;
  5. "~http://b.xxxx.com" http://b.xxxx.com;
  6. }
  7. server
  8. {
  9. .....
  10. location / {
  11. add_header 'Access-Control-Allow-Origin' $cors_origin;
  12. add_header 'Access-Control-Allow-Credentials' 'true';
  13. add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
  14. }
  15. .....
  16. }

方法三:

  1. server
  2. {
  3. .....
  4. location / {
  5. if ( $http_origin ~ (.*).xxxxx.com ) {
  6. add_header Access-Control-Allow-Origin $http_origin;
  7. add_header 'Access-Control-Allow-Credentials' 'true';
  8. add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
  9. }
  10. .....
  11. }

但上面的方法,在CDN场景下好像没作用。

参考:https://www.cnblogs.com/sunmmi/articles/5956554.html

nginx 动态跨域配置的更多相关文章

  1. Nginx实现跨域配置详解

    主要给大家介绍了关于Nginx跨域使用字体文件的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 问题描述 今天在使用子域名访问根域名的CSS时,发现字体无法显示,在确保CSS和Font字 ...

  2. 跨域原因及SpringBoot、Nginx跨域配置

    目录 概述 简单请求 跨域解决方案 概述 SpringBoot跨域配置 Nginx跨域配置 概述 MDN文档 Cross-Origin Resource Sharing (CORS) 跨域的英文是Cr ...

  3. nginx-springboot-vue前后端分离跨域配置

    nginx-springboot-vue前后端分离跨域配置 引言 接着上篇--简单的springboot-vue前后端分离登录Session拦截的demo,其中跨域是通过springboot后端全局设 ...

  4. windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置

    Nginx,不用多说啦,大家都熟悉的不能再熟悉了,它是一款轻量级的高性能Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,最近在本地研究将nginx和resin配合使用,使服务 ...

  5. 014.Nginx跨域配置

    一 跨域概述 1.1 同源策略 同源策略是一个安全策略.同源,指的是协议,域名,端口相同.浏览器处于安全方面的考虑,只允许本域名下的接口交互,不同源的客户端脚本,在没有明确授权的情况下,不能读写对方的 ...

  6. 常见跨域解决方案以及Ocelot 跨域配置

    常见跨域解决方案以及Ocelot 跨域配置 Intro 我们在使用前后端分离的模式进行开发的时候,如果前端项目和api项目不是一个域名下往往会有跨域问题.今天来介绍一下我们在Ocelot网关配置的跨域 ...

  7. 如何用Nginx解决跨域问题

    一. 产生跨域的原因 1.浏览器限制 2.跨域 3.XHR(XMLHttpRequest)请求 二. 解决思路 解决跨域有多重,在这里主要讲用nginx解决跨域 1.JSONP 2.nginx代理 3 ...

  8. 利用Nginx设置跨域的方式

    1.服务端可控,添加响应头 2.服务端不可控.通过Nginx反向代理 3.服务端不可控.通过Nginx反向代理添加响应头 第一种方法.服务端可控时,可以在服务器端添加响应头(前端+后端解决) 浏览器地 ...

  9. nginx解决跨域(前后端分离)

    Nginx解决跨域问题 后端接口 请求地址 返回数据(json数据) http://127.0.0.1:8080//app Hello World! 前端代码 通过nginx做静态资源服务器访问端口8 ...

随机推荐

  1. 带上RESTful的金手铐,你累吗?

    1. 首先RESTful是一套规范,不是框架,它是来约束你的.也不关心生产效率的提高.就好像使用汇编开发应用,性能是快了,但是生产效率很低.RESTful它需要你在路由上定义很多规则来解释的URL,假 ...

  2. Linux 文件 目录结构探索

    测试机用的是亚马逊云免费的那款,Amazon Linux AMI EC. 里面的Comment 在图上没有办法看,不过都是从网络上收录的,可以自行搜索. 目录 / 下面的目录 bin cgroup e ...

  3. 2sum,3sum,4sum,ksum

    1. 2sum 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标.你可以假设每种输入只会对应一个答案.但是,你不能重复利 ...

  4. Cocos Creator 为Button添加事件的两种方法

    Button添加事件 Button 目前只支持 Click 事件,即当用户点击并释放 Button 时才会触发相应的回调函数.通过脚本代码添加回调方法一这种方法添加的事件回调和使用编辑器添加的事件回调 ...

  5. 监控Tomcat

    监控Tomcat 无论是使用Zabbix.还是jconsole等其他工具,当需要监控Tomcat时,需对Tomcat进行jmx配置.此处以Linux系统为例,配置Tomcat. 注意: 下文中出现的: ...

  6. python文件基础IO,OS

    #!/usr/bin/python # -*- coding: UTF-8 -*- import os # 导入 Phone 包 #File 对象方法: file对象提供了操作文件的一系列方法. #O ...

  7. train_val.prototxt文件和deploy.prototxt文件开头的区别

    1.开头不同 对train_val.prototxt文件来说,开头部分定义训练和测试的网络及参数 对deploy.prototxt文件来说,开头部分定义实际运用场景的配置文件,其参数不定义数据来源,仅 ...

  8. python中安装并使用redis

    数据缓存系统:1:mongodb:是直接持久化,直接存储于硬盘的缓存系统2:redis: 半持久化,存储于内存和硬盘3:memcache:数据只能存储在内存里的缓存系统 redis是一个key-val ...

  9. linux下安装mysql等信息

    1.安装 apt-get update;// 第一次的时候,你更新一下你的软件包的源地址数据; apt-get install mysql-server 2.账号登陆 mysql -h localho ...

  10. loadrunner 更新中......

    一.安装及参考说明 1.51 testing 链接:http://www.51testing.com/zhuanti/LoadRunner.html 2.官网链接:http://learnloadru ...