你要不要吃香菜 2022-04-23 17:22 采纳率: 0%
浏览 40

vue+springboot上线跨域问题

说明:
1.不是本地开发,本地开发vue配置本地代理即可,问题是线上
2.接口已经做了跨域处理,这里好像是浏览器直接拦死了后台没有请求日志

一些处理及问题:
1.接口(springboot项目且后台已经处理了跨域问题)地址为A域名地址,现在vue的项目部署在B域名地址上,B去请求A是会有跨域问题,是否不用配置nginx代理去解决!查了好多资料结果应该是否。

img

2.用nginx配置代理,(可以跑通,不会有跨域问题了),请求会使用http2协议(可能不用代理也会是h2协议?),而这个协议要求请求头参数小写(传的参数大写也会自动转小写),那么就导致后台拿请求头时拿不到了,前端还有没有途径可以处理,如果不能的话就必须后台接口做大小写兼容的处理了

img

  • 写回答

2条回答 默认 最新

  • 黑色幽默595 2022-04-23 18:11
    关注

    试试看
    springboot 解决跨域问题工具类

    package com.imooc.api.config;

    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 CorsConfig {

    public CorsConfig() {
    }
    
    @Bean
    public CorsFilter corsFilter() {
        // 1. 添加cors配置信息
        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedOrigin("*");
        // 设置是否发送cookie信息
        config.setAllowCredentials(true);
        // 设置允许请求的方式
        config.addAllowedMethod("*");
        // 设置允许的header
        config.addAllowedHeader("*");
        // 2. 为url添加映射路径
        UrlBasedCorsConfigurationSource corsSource = new UrlBasedCorsConfigurationSource();
        corsSource.registerCorsConfiguration("/**", config);
        // 3. 返回重新定义好的corsSource
        return new CorsFilter(corsSource);
    }
    

    }

    需要被扫描到 @ComponentScan(basePackages = {"com.imooc"})

    评论

报告相同问题?

问题事件

  • 创建了问题 4月23日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)