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

相关推荐
孟陬7 小时前
Foobar 技术周刊#160:大模型让大规模形式化软件验证成为现实丨AI写C++代码之后会发生什么?丨我们真的需要alpha() 函数吗丨重试,有时会让故障更
前端·后端·typescript
BingoGo7 小时前
PHP 标准库的价值远不止少写几行代码
后端·php
Tt有了t7 小时前
设计模式速查
java·python·设计模式
Thomas.Sir8 小时前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot
JaguarJack8 小时前
PHP 标准库的价值远不止少写几行代码
后端·php·服务端
CodeYp20198 小时前
第14讲:mmap 实现文件 LRU 缓存
linux·lru·mmap
鶴哥只手遮天8 小时前
《Redis 8.10.3 深度剖析》系列 · 第 1 章·全景与源码地图:版本谱系、构建体系、全局状态与启动链路
redis·后端·开源
用户400315043358 小时前
《从 skynet.timeout 到回调执行:Skynet 分层时间轮源码剖析》
后端
程序开发阿元8 小时前
一台 20G 的 VPS 被日志吃掉一半:我按这个顺序查了二十分钟
linux·ssh
一条Go8 小时前
四个进程,一把锁:Alioth 的告警评测为什么不需要消息队列
后端·设计模式·架构