jeeplus-vue-boot 8.0版本 前后端分离 跨域 Nginx配置

简单分享一下jeeplus框架部署liunx服务器跨域问题 ,因为我这个是前后端服务器分离所以配置了俩份

java后端配置
1.跨域后端配置nginx(图-1)

后端nginx配置上配置

 server {
        listen       80;
        server_name  xxx.xx.xxx;  #后端服务域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
	
        location / {

			add_header Access-Control-Allow-Origin 'http://xxx.xx.xx';  #web端服务域名
			add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS,DELETE';
			#add_header Access-Control-Allow-Headers 'DNT,token,X-Mx-ReqToken,X-CSRF-Token,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
			add_header Access-Control-Allow-Headers '*';
			if ($request_method = 'OPTIONS') {
				return 204;
			}
			
			
			proxy_connect_timeout 300s;
			proxy_send_timeout 300s;
			proxy_read_timeout 3000s;
            proxy_set_header X-Real-IP  $remote_addr; 
			
			#proxy_set_header  Host $host:8082;
            #proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            #proxy_set_header X-Forwarded-For $remote_addr;

			#proxy_pass  http://nginxPort;
            proxy_pass   http://127.0.0.1:8082; 
            #index  localhost:8082/;
			
				
        }	

		
	}
	

2.跨域后端代码修改(图-2)
java后端代码修改处上图 配置类 位置在:package com.jeeplus.modules.sys.security.shiro.JWTFilter; ===>最后一个方法preHandle

好啦,就这么简单;后端跨域就解决啦~ 如果你是同一台服务器,但是不通域名呢也可以参照修改,如果直接都是用ip应该是不存在跨域问题哦!

接下来请看前端配置修改

--------------------------------我-----------是----------分----------界-------------线 -------------------------------

vue端跨域
1.首先还是nginx配置附图(图-1)
vue配置nginx上配置

    #vue springboot
server {
    listen       80;
    server_name  xxx.xxx.xx;  #web端域名
	
    location ^~ /userfiles {
        proxy_pass              http://xxx.xx.xxx.xx:xx/userfiles;   #后端ip
        proxy_set_header        Host xxx.xx.xxx.xx;   #后端ip
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }

	location / {
		root X:/xxx/xxxx;   #web项目存放位置
		try_files $uri $uri/ @router;
		index index.html;
	}
	#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
	#因此需要rewrite到index.html中,然后交给路由在处理请求资源
	location @router {
		rewrite ^.*$ /index.html last;
	}
}

这里 如果不配置 ~^ /userfiles 会让项目内的文件等全部跨域,所以必须配置,选择好自带文件上传位置后在此处配置好,后续自带生成的文件上传就都会出现在该位置下拉~

这里配置这个是让前端服务器能够正常找到后端服务的

2.开始web端代码修改了。

  1. 如下图找到src.sys.config.SysConfig.vue 也可以全局搜索产品logo 在对应位置添加代码:headers="{token:$cookie.get('token')}" 带符号哦,即可。
    web端代码修改
  2. 如下图找到src.httpRequest.js 修改代码为 axios.defaults.withCredentials = false
    web代码修改
  3. 与2.2同一个文件内在往下扒拉就可以找到最后一个修改处拉 ,添加代码 config.headers.token = Vue.cookie.get('token')

代码修改web

好啦~本文到此结束了,感谢观看,有用点个赞收藏一下,码文不易
你我环境不匹配,仅供参考,祝你成功

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值