2017-03-31 96 views
0

我們正在面對Spring應用程序的一些問題。我們使用嵌入式的tomcat。當我們打開幾個具有特殊字符的關鍵字時,它沒有到達我們的應用程序。該應用程序託管在谷歌雲。我們無法在本地重現這一點,但是當他在其他環境中訪問相同的網址時,我們可以看到空白頁。我們通過在過濾器和我們的控制器中添加大量日誌來進行檢查,請求並不是自己來到我們的應用程序。有人可以幫我解決這個問題。嵌入式Tomcat在春季啓動時阻塞了一些關鍵字

Example: www.test.com/s/5%2F8%20spark%20plug 
+0

'%2F'看起來可能是一個問題,特別是如果有中介(路由器,代理等)解釋URL。 – chrylis

+0

感謝您的迴應!有沒有一種方法可以讓tomcat允許這些關鍵字?謝謝 !! – user2334926

+0

這不是關鍵字,它是奇怪的URL編碼,它幾乎可以肯定是Tomcat的上游 - 例如GCE路由器。 – chrylis

回答

0

爲@chrylis提到的,沒有什麼,你可以在你的應用程序,允許這種類型的網址來工作,因爲這個問題是你的應用程序之前,你的應用程序永遠不會要求這樣做。

我建議您不要花太多時間調查Google雲平臺爲什麼會扼殺網址,而是要仔細審視您的應用程序,並問問自己是否真的需要這些「非標準」網址。

例如,如果「5%2F8%20spark%20plug」是最終用戶提供的東西(或由最終用戶提供的東西的URL編碼版本),那麼也許最好是使用一個id(一個Long或一個UUID)來代替 - 這是一種「規範化」,並且不會產生URL分析問題。