美文网首页
跨域问题总结系列(一)

跨域问题总结系列(一)

作者: 高速迷彩蛙 | 来源:发表于2020-04-12 23:49 被阅读0次

一、mac本地打开不含跨域的浏览器便于开发方案

1、在文稿中新建一个文件夹存储无跨域的chrome的用户数据;

cd /Users/hahahademac/Documents; // 进入文稿(也可以是其他文件)
mkdir chromeConfig; // 创建存储新浏览器数据的文件夹

2、执行如下指令

ps:重新打开一个新的chrome浏览器,不带有跨域限制。
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/LeoLee/Documents/chromeConfig
ps:重新打开一个新的chrome浏览器,包含跨域限制,只需将上面的disable 换成 enable 即可,如下。
open -n /Applications/Google\ Chrome.app/ --args --enable-web-security  --user-data-dir=/Users/LeoLee/Documents/chromeConfig

3、执行完毕,打开的新的chrome浏览器,此浏览器无视跨域原则,会出现下图所示:

1.png

二、CORS(跨站资源共享):目前解决跨域问题主流方案

第一种方式:nginx配置开启CORS

1、vim进入服务器配置文件
vim /etc/nginx/config.d
2、开启nginx允许跨域方案;
ps:下方的 add_header 部分就是配置项。
server {

        # listen 8880;
        # listen 80;
        listen 443 ssl http2;
        server_name tpdoc.cn;
        root /data/topay/tpdoc_api_new;
        index index.html index.php;
        access_log   /var/log/nginx/access_erp.log;
        error_log   /var/log/nginx/error_erp.log;
        client_max_body_size 8M;
        client_body_buffer_size 128k;

        # set expiration of assets to MAX for caching
        location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
                expires max;
                log_not_found off;
        }

        location ~* \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                proxy_read_timeout 1200;
                proxy_connect_timeout 1200;
                include fastcgi.conf;
        }

        location / {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            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';

            # Check if a file or directory index file exists, else route it to index.php.
            try_files $uri $uri/ /index.php;
        }


}

第二种方式:后端代码中加入跨域配置

ps:一般统一一个模块,每个模块引入这个跨域配置,不同语言各不相同;其实就是请求头和相应头进行控制。

相关文章

  • 跨域问题总结系列(一)

    一、mac本地打开不含跨域的浏览器便于开发方案 1、在文稿中新建一个文件夹存储无跨域的chrome的用户数据; 2...

  • HTML-获取iframe元素的正确方法

    跨域相关文章详解js跨域问题JavaScript跨域总结与解决办法 解释最清楚的jsonpWhat is JSON...

  • SpringBoot2.x整合CORS解决跨域问题

    跨域问题系列文章 1. 同源策略与CORS(跨域请求的起源)2. SpringBoot2.x整合CORS解决跨域问...

  • 深入跨域问题(3) - 利用 JSONP 解决跨域

    深入跨域问题(1) - 初识 CORS 跨域资源共享;深入跨域问题(2) - 利用 CORS 解决跨域深入跨域问题...

  • 跨域与常用方案

    本文源自一次内部关于跨域的讨论分享的总结 理解跨域的重点在于:了解跨域产生的场景、原理 跨域问题只在浏览器客户端环...

  • 跨域详谈(未完待续)

    作为一个前端,不论工作还是面试,跨域问题都是我们避不开的难点,所以我想写篇文章总结下跨域问题的正确的解决方式。 跨...

  • 跨域问题总结

    跨域, 为什么需要跨域?跨域有什么不好?怎么实现跨域? 一、什么是跨域 只要协议、域名、端口有任何一个不同,都被当...

  • 跨域问题总结

    跨域, 为什么需要跨域?跨域有什么不好?怎么实现跨域? 一、什么是跨域 只要协议、域名、端口有任何一个不同,都被当...

  • 跨域问题总结

    跨域问题的总结 1、为什么会有跨域问题 原因是浏览器为了安全,而采用的同源策略(Same origon polic...

  • 浅谈前端跨域问题

    最近由于公司的一个项目需求需要前端解决跨域问题,因此学习了下跨域的相关知识,这里做一个总结,方便后期查阅。在讲跨域...

网友评论

      本文标题:跨域问题总结系列(一)

      本文链接:https://www.haomeiwen.com/subject/ioxwmhtx.html