zoukankan      html  css  js  c++  java
  • nginx配置跨域问题

    nginx配置跨域问题

     
     No 'Access-Control-Allow-Origin' header is present on the requested resource

    1.跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。

    2.浏览器在执行脚本的时候,都会检查这个脚本属于哪个页面,即检查是否同源,只有同源的脚本才会被执行;而非同源的脚本在请求数据的时候,浏览器会报一个异常,提示拒绝访问。

      ①、http://www.123.com/index.html 调用  http://www.123.com/welcome.jsp      协议、域名、端口号都相同,同源。

      ②、https://www.123.com/index.html 调用 http://www.123.com/welcome.jsp      协议不同,非同源。

      ③、http://www.123.com:8080/index.html 调用 http://www.123.com:8081/welcome.jsp   端口不同,非同源。

      ④、http://www.123.com/index.html 调用  http://www.456.com/welcome.jsp       域名不同,非同源。

      ⑤、http://localhost:8080/index.html 调用 http://127.0.0.1:8080/welcom.jsp        虽然localhost等同于 127.0.0.1 但是也是非同源的。

      同源策略限制的情况:

      1、Cookie、LocalStorage 和 IndexDB 无法读取

      2、DOM 和 Js对象无法获得

      3、AJAX 请求不能发送

    3.解决跨域问题的nginx配置

    复制代码
    #设置需要跨域的指定文件
    location ^~/res/ {
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET,POST';
        add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
        alias /data/web/res/;
    }    
    复制代码
    复制代码
    #设置允许全局跨域
    server {
       .... add_header Access
    -Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET,POST'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization'; }
    复制代码

    4.代码层面的跨域问题:

    DOMException: Blocked a frame with origin "http://ip:7456" from accessing a cross-origin frame.

    解决办法:浏览器同源政策及其规避方法:https://www.techug.com/post/same-origin-policy.html

     
     
  • 相关阅读:
    Java Web系统经常使用的第三方接口
    Direct UI
    Python 分析Twitter用户喜爱的推文
    数据挖掘十大经典算法(9) 朴素贝叶斯分类器 Naive Bayes
    利用Excel批量高速发送电子邮件
    普林斯顿大学数学系的崛起
    Node.js学习
    映射 SQL 和 Java 类型
    Nutch配置
    OGNL
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/13093540.html
Copyright © 2011-2022 走看看