SpringBoot代理访问本地静态资源400 404

SpringBoot代理访问静态资源400 404

复制代码
背景:pdf文件上传到linux服务器上,使用SpringBoot代理访问

问题:访问过程中可能会出现400、404问题

前提:保证有文件,并且文件路径正确

SpringBoot如何配置静态资源代理,大家可以网上找一找,或者也可以参考我的另一篇博客
SpringBoot addResourceHandlers 代理静态资源

1、路径纯英文

此种情况目前没有遇到过问题

2、路径包含中文

此种情况可能会出现404问题

很大程度是中文乱码造成,配置一下服务器中文编码,记住配置完后重启jar,也可以参考上面提到的博客

3、路径中包含特殊字符

c 复制代码
" < > [ \ ] ^ `` { | } 

此种情况可能会出现400

在SpringBoot配置文件中添加处理特殊字符的配置,完美解决

yaml 复制代码
server:
  tomcat:
    relaxed-path-chars:
      - '['
      - ']'
    relaxed-query-chars:
      - '['
      - ']'
#  如果不配置下面的,将会从400 -> 404错误
spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher

注:我是用的SpringBoot版本:2.7,版本不一定对应配置可能也不一样,大家按照实际情况设置

ps: 大家还是把问题解决在源头,上传文件时保存的文件名以及路径大家尽可能直接用数字或者字母,这样就可以最大限度的避免后面的麻烦事,毕竟咱们用的电子设备底层技术是外国滴,所以在涉及到一些账户、路径、名称等尽量用字母数字

相关推荐
小江的记录本几秒前
【分布式】分布式一致性协议:2PC/3PC、Paxos、Raft、ZAB 核心原理、区别(2026必考Raft)
java·前端·分布式·后端·安全·面试·系统架构
北风toto1 分钟前
RestTemplate 的入门使用,直接给上作者的项目Demo
java
计算机安禾2 分钟前
【Linux从入门到精通】第8篇:用户与权限管理(上)——谁动了我的文件?
linux·运维·服务器
疯狂打码的少年2 分钟前
JDK 7、8、13 和 20区别深度了解
java·开发语言
艾莉丝努力练剑2 分钟前
【Linux线程】Linux系统多线程(九):线程池实现(附代码示例)
linux·运维·服务器·c++·学习·架构
晨晖23 分钟前
linux笔记6
linux·运维·笔记
钝挫力PROGRAMER3 分钟前
Java中如何优雅管理接口的多个实现
java·设计模式
古方路杰出青年5 分钟前
学习笔记1:Python FastAPI极简后端API示例解析
笔记·后端·python·学习·fastapi
迷藏4946 分钟前
# 发散创新:基于Python的自动特征工程实战与深度优化在机器学习
java·开发语言·python·机器学习
艾莉丝努力练剑7 分钟前
【Linux线程】Linux系统多线程(八):<策略模式>日志系统的封装实现
linux·运维·服务器·c++·学习·策略模式