springboot vue线上部署项目注意跨域问题

这篇具有很好参考价值的文章主要介绍了springboot vue线上部署项目注意跨域问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

springboot vue线上部署项目注意跨域问题

nginx配置

  server {
       listen 8080;
       server_name localhost;
       charset utf-8;
      location / {
        root /home/user/cf/vue/dist;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
        add_header 'Access-Control-Allow-Headers' 'DNT, X-Mx-ReqToken, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type';
 }
    error_page 405 = 200@405;
    location @405 {
        proxy_method GET;
        proxy_pass http://localhost:9090;
    }
}

vue中request.js

// 创建可一个新的axios对象
const request = axios.create({
    baseURL: 'http://xxx.xxx.xxx.xxx:9090',   // 后端的接口地址  ip:port
    timeout: 30000                          // 30s请求超时
})

vue中vue.config.js

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  devServer: {
    port: 8080
  },
  chainWebpack: config =>{
    config.plugin('html')
        .tap(args => {
          args[0].title = "管理系统";
          return args;
        })
  }
})

Springboot中config目录中 CorsConfig类

/**
 * 跨域配置
 */
@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*"); // 1 设置访问源地址
        corsConfiguration.addAllowedHeader("*"); // 2 设置访问源请求头
        corsConfiguration.addAllowedMethod("*"); // 3 设置访问源请求方法
        source.registerCorsConfiguration("/**", corsConfiguration); // 4 对接口配置跨域设置
        return new CorsFilter(source);
    }
}

Springboot中config目录中 WebConfig类

@Configuration
public class WebConfig implements  WebMvcConfigurer {

    @Resource
    private JwtInterceptor jwtInterceptor;

    // 加自定义拦截器JwtInterceptor,设置拦截规则
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
//        放行请求
        registry.addInterceptor(jwtInterceptor).addPathPatterns("/**")
                .excludePathPatterns("/")
                .excludePathPatterns("/login")
                .excludePathPatterns("/register")
                .excludePathPatterns("/files/**");
    }
}

重启nginx 命令

sudo nginx -s reload

文章来源地址https://www.toymoban.com/news/detail-808501.html

到了这里,关于springboot vue线上部署项目注意跨域问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决SpringBoot和前端Vue的跨域问题

    一、为什么会出现跨域问题           出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同

    2024年02月04日
    浏览(82)
  • 宝塔面板部署前后端分离项目(解决跨域问题)

    1.打包前后端项目 注意的点 前后端的联调要改成前后端线上的地址 然后数据库相关的要改成 线上的数据库 放开自己的防火墙 不要忘记了 宝塔面板和阿里云服务器(腾讯云服务器)都要打开 前端 改自己请求的地址 一定要改 打包 打开packaeg.json之后点build 打包之后会生成一

    2024年02月08日
    浏览(45)
  • 手把手从安装本地虚拟机,基于docker,部署springboot+vue项目(若依框架前后端分离版本演示),基于openjdk的dockerfile

    部署环境提供vm16,和centos7,其中把镜像改成.iso文件就可以了 阿里云链接: https://www.alipan.com/s/BTnpjuHWtEp 为什么用阿里云,不限速啊,秉持着开源白嫖的精神 新建虚拟机 选择镜像 创建用户 设置虚拟机存存放位置 默认下一步 自定义硬件 选了扩大一下内存,扩不扩无所谓 检查

    2024年01月16日
    浏览(66)
  • vue项目跨域问题(图片跨域)devServer.proxy代理失效时,nginx反向代理解决跨域问题

    ​ 本篇文章主要记录个人在公司项目开发中所遇问题,主要内容:在vue项目的开发中图片所存的服务器/端口号和项目所在的服务器/端口号不同,出现了跨域问题的保错。 ​ 如果文章有歧义,请各位大佬指出,避免误导更多的人!! Bug起因 ​ 在vue项目的开发中图片所存的

    2024年02月15日
    浏览(44)
  • 前端包部署到线上net::ERR_SSL_PROTOCOL_ERROR(跨域/同源策略)

    部署到线上报错一堆文件: js、css、html报如下错误 1.因为服务器用的域名有:https、http两种 部署到线上地址,https开头用第一行代码,http用第二行代码 (本地启用项目一般都是http开头,用第二行代码即可,但线上是https开头,部署时需要更换为下面第一行代码) 2.跨域详解

    2023年04月09日
    浏览(44)
  • Springboot+vue跨域+登录拦截问题,前端获取不到session,每次请求sessionid变化

    折磨了整整两天,终于把这个问题搞定了. 一开始后端开发完后,用apifox所有接口测试都是可以的,但当前端跑起来后发现接收不到后端的数据. 网上查了很多方法,首先试了查到的前端代理方法 没用,代理配置了但api不会替换成设置好的代理,还是以字符串形式到相对路径上. 于是找

    2024年01月19日
    浏览(34)
  • 用Nginx将前端Vue项目部署到云服务器(含代理实现请求跨域)

    记录使用Nginx将 纯前端 的Vue3项目部署到阿里云服务器(Ubuntu 22.04)上,包含通过Nginx代理实现 跨域请求 、以及个人踩坑记录~ 执行下列命令安装: 安装完成后查看nignx版本,显示版本信息则说明安装成果 启动nginx,如正确启动,则不会出现任何提示信息。 nginx启动成功后打

    2024年04月12日
    浏览(45)
  • VUE项目使用axios发送post跨域请求,返回数据失败问题

    Access to XMLHttpRequest at \\\'http://xxxx\\\' from origin \\\'http://localhost:8080\\\' has been blocked by CORS policy: Response to preflight request doesn\\\'t pass access control check: No \\\'Access-Control-Allow-Origin\\\' header is present on the requested resource. 第一步 ,在后端接受方,对返回的数据添加 响应头 ,使用下面这句代码: 第二步

    2024年02月11日
    浏览(49)
  • Vue(Vue Element Admin)+Apache+thinkphp6项目,解决跨域问题;

    前端: vue2的框架,在github上找的。 Vue Element Admin框架。 后端: thinkphp6框架 服务器 apache vue框架,本身封装了axios请求,框架本身还自带mock; 我直接在这个基础上开发,写了1个demo.vue的页面,对应demo.js文件封装api; vue文件如下 js文件如下 baseurl 通过阅读自带的请求类封装的

    2024年02月08日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包