中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tomcat報錯解決 --- The valid characters are defined in RFC 7230 and RFC 3986怎么解決

發布時間:2021-07-06 11:04:35 來源:億速云 閱讀:724 作者:chen 欄目:大數據

本篇內容介紹了“Tomcat報錯解決 --- The valid characters are defined in RFC 7230 and RFC 3986怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

我的問題接口是接口中包含 “^”特殊符號,tomcat 8.5.35報如下的錯。

Invalid character found in the request target. The valid characters are defined in RFC 3986

從錯誤日志中看到Error parsing HTTP request header

負責解析http請求的是org.apache.tomcat.util.http.parser.HttpParser,它對請求對URL中對字符做了限制,具體代碼如下:
IS_NOT_REQUEST_TARGET[]中定義了一堆not request target

if(IS_CONTROL[i] || i > 127 || i == 32 || i == 34 || i == 35 || i == 60 || i == 62 || i == 92 || i == 94 || i == 96 || i == 123 || i == 124 || i == 125) {
                IS_NOT_REQUEST_TARGET[i] = true;
            }

轉換過來就是以下字符(對應10進制ASCII),也就是URL中不能包含的特殊字符:

  • 鍵盤上那些控制鍵:(<32或者=127)

  • 非英文字符(>127)

  • 空格(32)

  • 雙引號(34)

  • #(35)

  • <(60)

  • >(62)

  • 反斜杠(92)

  • ^(94)

  • TAB上面那個鍵,~(96)

  • {(123)

  • }(124)

  • |(125)

自己整了好久,baidu到的全都是這樣的:

在conf/catalina.properties中最后添加2行:

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

我是這么加的。

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}^
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

但是我的問題還是沒有解決 ,通過查看文檔發現了這些個東西:

就是說這個配置只能處理接受的字符為 { } |  ,哭了......

文檔地址:https://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html
Tomcat報錯解決 --- The valid characters are defined in RFC 7230 and RFC 3986怎么解決 在猶豫是不是要降低版本屈服的時候在文檔中搜索了 “^”符號發現了這個。。。于是乎

Tomcat報錯解決 --- The valid characters are defined in RFC 7230 and RFC 3986怎么解決

文檔地址:https://tomcat.apache.org/tomcat-8.5-doc/config/http.html

在conf/server.xml中的<Connector port="8080">節點中,添加2個屬性:

relaxedPathChars="|{}[]^,"
relaxedQueryChars="|{}[]^,"

完美解決問題!!! 

“Tomcat報錯解決 --- The valid characters are defined in RFC 7230 and RFC 3986怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

若羌县| 石屏县| 鲁山县| 德江县| 环江| 郧西县| 溆浦县| 利川市| 宣城市| 偏关县| 林周县| 寿光市| 玉环县| 金堂县| 凌源市| 广水市| 保亭| 都昌县| 德钦县| 收藏| 芜湖市| 江山市| 乐平市| 汝南县| 桂平市| 齐河县| 丰镇市| 鄂托克旗| 宿松县| 乐安县| 辽阳县| 保定市| 西贡区| 西宁市| 内乡县| 临安市| 阿鲁科尔沁旗| 浦东新区| 逊克县| 萨迦县| 涟水县|