首页 > 系统相关 >Nginx处理跨域

Nginx处理跨域

时间:2022-12-29 18:44:26浏览次数:60  
标签:Control Content 跨域 header 处理 Access Nginx add

    通常,我们提到的跨域指:CORS。 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing), 它需要浏览器和服务器同时支持他,允许浏览器向跨源服务器发送XMLHttpRequest请求,从而克服 AJAX 只能同源使用的限制。  

浏览器跨域报错

0    

跨域问题的起因

浏览器安全机制限制,不允许网站使用非同源网站上的资源。 同源是指:协议、域名、端口号完全相同。    

出现跨域问题的实例

下表给出了与 URL http://www.training.com/dir/page.html 的源进行对比的示例: 0      

跨域解决方案

后端服务器配置支持跨域请求即可。  

Nginx跨域解决方案

server {

    location / {
        if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        #
        # Custom headers and headers various browsers *should* be OK with but aren't
        #
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        #
        # Tell client that this pre-flight info is valid for 20 days
        #
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        return 204;
     }
     if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
     }
     if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always;
     }
        root   /data/client/;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

  

                 

标签:Control,Content,跨域,header,处理,Access,Nginx,add
From: https://www.cnblogs.com/yourstars/p/17013260.html

相关文章

  • git分支的一些处理情况记录
    一、开发分支(dev)上的代码更新后,要合并到master分支gitcheckoutdev#切换到dev分支gitpull#将远程更新的代码同步到本地gitcheckoutmaster#切......
  • 坦克大战1.0,java时间处理机制
    1.java绘图坐标体系1.1坐标体系-介绍下图说明了Java坐标系。坐标原点位于左上角,以像素为单位。在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个......
  • LVS + Nginx +Tomcat 高可用架构
    1、NGINX实现负载均衡2、Keepalived搭建NGINX高可用集群3、LVS+“NGINX高可用集群”实现高并发4、LVS双主实现高可用高并发......
  • 优质住宅水处理解决方案丨RainSoft产品介绍及优势
    优质住宅水处理解决方案自1953年以来,RainSoft一直是优质住宅水处理解决方案的行业领导者。从伊利诺伊州本森维尔的一个地点开始,RainSoft现在是一家国际公司,在美国和其......
  • Ajax提交GET后台处理
    <?phpheader("Content-type:text/html;charset=utf-8");//登录一般都是get请求所以我们这里使用一个变量接受所以get请求$data=$_GET;//吧所有获取的参数赋值......
  • Ajax提交POST后台处理
    <?phpheader("Content-type:text/html;charset=utf-8");//登录一般都是post请求所以我们这里使用一个变量接受所以post请求$data=$_POST;//吧所有获取的参数赋......
  • 安装算量软件电气专业 配电房同一位置并排出桥架位置,电缆沟的处理
    一般情况下高低压配电房中电缆沟位置往外出桥架的时候为单排桥架,这个时候电缆沟和桥架绘制的时候绘制到中对中就可以了,当出配电房的时候有多排水平桥架出去的时候,电缆沟与桥......
  • IO异常如何处理
    JDK7前处理之前的练习,我们一直把异常抛出,而实际开发中并不能这样处理,建议使用try...catch...finally代码块,处理异常部分,代码使用演示:publicclassHandleException1{......
  • 17篇点云处理综述-点云语义分割、点云物体检测、自动驾驶中的点云处理……
    三维点云是最重要的三维数据表达方式之一。从技术角度看,在三维重建、SLAM、机器人感知等多个领域,三维点云都是最简单最普遍的表达方式,因为三维点云直接提供了三维空间数据,而......
  • IROS2022 | 雪天环境的激光点云处理
    原文:LiSnowNet:Real-timeSnowRemovalforLiDARPointCloud作者:Ming-YuanYu,RamVasudevan,andMatthewJohnson-Roberson会议:IROS2022激光雷达是一种主动传感器,其......