SpringBoot 不同版本配置项目名称(坑)分析

访客 阅读:170 2021-03-31 12:45:08 评论:0

问题描述:

今天和公司前端工程师对接一个简单项目时(前后端分离,使用nginx 代理),前端请求后台服务接口总是提示:403 资源不可用。

nginx 配置文件如下:

server { 
	listen       7098; 
	server_name  192.168.1.74 localhost; 
 
        #charset koi8-r; 
 
        #access_log  logs/host.access.log  main; 
 
	location / { 
			root   C:/nginx/nginx-1.14.0/baoan; 
			index  index.html index.htm; 
			try_files $uri $uri/ /index.html; 
        } 
 
	location ~/baoan{ 
			#Proxy Settings 
			add_header Access-Control-Allow-Origin $http_origin; 
			add_header Access-Control-Allow-Headers *; 
			add_header Access-Control-Allow-Methods *; 
 
			proxy_redirect     off; 
			proxy_set_header   Host             $host; 
			proxy_set_header   X-Real-IP        $remote_addr; 
			proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for; 
			proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; 
			proxy_max_temp_file_size 0; 
			proxy_connect_timeout      90; 
			proxy_send_timeout         90; 
			proxy_read_timeout         90; 
			proxy_pass http://192.168.1.74:8098; 
 
        } 
 
        #error_page  404              /404.html; 
 
        # redirect server error pages to the static page /50x.html 
        # 
        error_page   500 502 503 504  /50x.html; 
        location = /50x.html { 
            root   html; 
        } 
		

我们反复检查了:前端访问路径地配置和后端项目访问地址的配置数据

前端请求地址:http://192.168.1.74:7098/baoan/**,对应后端实际请求地址: http://192.168.1.74:8098/baoan/**

IP 和端口的映射可以通过nginx 代理配置可以看出来,现在就剩一个前端项目名称地址与后端服务项目名称不一致。

SpringBoot 项目部署配置文件如下(Springboot版本为:2.1.2.*****):

原项目名称配置访问:(错误)

application.properties:

server.context-path=/baoan

修改项目名称配置访问:(正确)

application.properties:

# 指定服务 名称 
server.servlet.context-path=/baoan

总结:

SpringBoot版本 配置
1.x server.context-path=/demo
2.x server.servlet.context-path=/demo

以下为本地测试可行代码

pom.xml中使用SpringBoot版本

<version>1.5.9.RELEASE</version>

application.properties文件添加

server.context-path=/demo

pom.xml中使用SpringBoot版本

<version>2.0.2.RELEASE</version>

application.properties文件添加

server.servlet.context-path=/demo

 

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
关注我们

一个IT知识分享的公众号