当前位置: 首页 > news >正文

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

一.前端配置跨域

  • 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 {listen       8094; #监听端口server_name  localhost; ##charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;#文件根目录index  index.html index.htm;#默认起始页}
  • jsonp解决跨域

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

  • cors解决跨域(后端常用)
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;@Configuration
public class GlobalCorsConfig {@Beanpublic CorsFilter corsFilter() {//1.添加CORS配置信息CorsConfiguration config = new CorsConfiguration();//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.添加映射路径,我们拦截一切请求UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();configSource.registerCorsConfiguration("/**", config);//3.返回新的CorsFilter.return new CorsFilter(configSource);}
}

还有好几种但是常用的也就是这几种,小伙伴们有啥需要补充的评论区留言。

http://www.lryc.cn/news/146487.html

相关文章:

  • Oracle 批量导出表注释和主键
  • Linux C++ 海康摄像头获取过车信息
  • iOS逆向:越狱及相关概念的介绍
  • SQL语法与DDL语句的使用
  • Node.js /webpack DAY6
  • Java:SpringBoot使用AES对JSON数据加密和解密
  • 【PHP】Swoole:一款强大的PHP网络编程工具
  • 【C语言】每日一题(除自身以外数组的乘积)
  • C语言每日一练-----Day(4)
  • 如何使用工具将批量查询的物流信息导出到表格
  • Haproxy+Keepalive 整合rabbitmq实现高可用负载均衡
  • 电子病历系统的核心技术——电子病历编辑器
  • C++------map和set的使用
  • URI和URL和URN区别
  • 【Unity学习笔记】DOTween(1)基础介绍
  • springboot项目,使用JNA框架调用C++库无法捕获异常的解决思路
  • 【项目 计网7】4.20 多进程实现并发服务器 4.22 多线程实现并发服务器
  • 论文阅读_扩散模型_LDM
  • LeetCode——回溯篇(二)
  • RabbitMQ工作模式-发布订阅模式
  • JDK源码解析-Object
  • pinia——添加插件——基础积累
  • 软件国产化之殇
  • SQLyog问题处理集合
  • JavaSE【继承和多态】(1)(重点:初始化、pretected封装、组合)
  • 无涯教程-Android Studio函数
  • CentOS8安装mysql8.0.24
  • Quasi-eccentricity Error Modeling and Compensation in Vision Metrology
  • ai智能电话机器人是人类的助手和朋友
  • 应用TortoiseSVN的SubWCRev管理VisualStudio C#项目编译版本号