项目里面怎么解决跨域的?

简介: 项目里解决跨域的方法

一.前端配置跨域

proxy解决跨域

在vue.config.js中通过proxy devServer中配置反向代理。

devServer: {
port: port,
open: true,
overlay: {
warnings: false,
errors: true    },
// 配置反向代理proxy: {
// 当地址中有/api的时候会触发代理机制'/api': {
target: 'http://ihrm-java.itheima.net/', // 要代理的服务器地址  这里不用写 apichangeOrigin: true// 是否跨域// 重写路径// pathRewrite: {}      }
    }
  },

Nginx反向代理

在nginx.conf 的配置

server {
listen8094; #监听端口server_namelocalhost; ##charset koi8-r;#access_log  logs/host.access.log  main;location/ {
roothtml;#文件根目录indexindex.html ;#默认起始页      }

jsonp解决跨域

Jsonp 原理:动态获取script标签   缺点:只适用于get请求。

二.后端解决跨域

cors解决跨域(后端常用 java)

importorg.springframework.context.annotation.Bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.web.cors.CorsConfiguration;
importorg.springframework.web.cors.UrlBasedCorsConfigurationSource;
importorg.springframework.web.filter.CorsFilter;
@ConfigurationpublicclassGlobalCorsConfig {
@BeanpublicCorsFiltercorsFilter() {
//1.添加CORS配置信息CorsConfigurationconfig=newCorsConfiguration();
//1) 允许的域,不要写*,否则cookie就无法使用了config.addAllowedOrigin("http://manage.leyou.com");
config.addAllowedOrigin("http://www.leyou.com");
//2) 是否发送Cookie信息config.setAllowCredentials(true);
//3) 允许的请求方式config.addAllowedMethod("OPTIONS");
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET");
config.addAllowedMethod("PUT");
config.addAllowedMethod("POST");
config.addAllowedMethod("DELETE");
config.addAllowedMethod("PATCH");
// 4)允许的头信息config.addAllowedHeader("*");
//2.添加映射路径,我们拦截一切请求UrlBasedCorsConfigurationSourceconfigSource=newUrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//3.返回新的CorsFilter.returnnewCorsFilter(configSource);
    }
}


相关文章
|
3月前
|
前端开发 API
uniapp中为什么会出现跨域问题,如何解决
uniapp中为什么会出现跨域问题,如何解决
718 0
|
1月前
|
JavaScript 安全 前端开发
js开发:请解释什么是跨域请求(CORS),以及如何解决跨域问题。
CORS是一种W3C标准,用于解决浏览器同源策略导致的跨域数据访问限制。它通过服务器在HTTP响应头添加标志允许特定源进行跨域请求。简单请求无需预检,而预检请求(OPTIONS)用于询问服务器是否接受非简单请求。服务器端配置响应头如`Access-Control-Allow-Origin`等实现CORS策略,客户端JavaScript则正常发起请求。若配置不当,浏览器将阻止跨域访问,保障安全。
23 2
|
3月前
|
前端开发 JavaScript 应用服务中间件
前端程序员必须要知道的跨域问题以及解决方法
前端程序员必须要知道的跨域问题以及解决方法
|
8月前
vite遇见跨域怎么解决
vite遇见跨域怎么解决
|
3月前
|
Web App开发 JavaScript 前端开发
深入理解前端跨域方法和原理
深入理解前端跨域方法和原理
Hertz踩坑记录,Hertz-CORS跨域问题
字节跳动开源框架Hertz,可能存在的CORS的跨域问题
|
10月前
|
网络协议 Java 数据库连接
java后端跨域 配置 代码
java后端跨域 配置 代码
|
10月前
|
前端开发 Java 应用服务中间件
解决项目中的跨域问题
解决项目中的跨域问题
142 0
|
存储 前端开发 JavaScript
什么是跨域?如何解决跨域问题?
什么是跨域?如何解决跨域问题?
708 0
什么是跨域?如何解决跨域问题?
|
安全 JavaScript 前端开发
什么是跨域,如何解决跨域?
还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群
什么是跨域,如何解决跨域?