背景:
今天在使用Tomcat8部署完成項目做測試的時候,發現有的接口會報錯400,后端提示在請求目標中找到無效字符。有效字符在RFC 7230和RFC 3986中定義
原因分析:
是因為 日志顯示請求地址中包含不合法字符,出現400錯誤
tomcat高版本嚴格按照RFC 3986規范解析地址。該規范只允許包含 a-zA-Z 0-9 - _ . ~ 以及所有保留字符 ! * ’ ( ) ; : @ & = + $ , / ? # [ ]
但是項目在發起請求的參數中出現{},所以需要配置一下
解決方案:
在tomcat配置文件中做出以下配置,找到tomcat配置中的server.xml路徑就在config文件夾下
relaxedPathChars="|{}[],%" relaxedQueryChars="|{}[],%"
加上紅色框中的代碼 問題解決。
作者:彼岸舞
時間:2020\11\04
內容關於:工作中用到的小技術
本文屬於作者原創,未經允許,禁止轉發