我在Tomcat下設置了SSL,併爲從http到https的某些URL(使用安全約束)進行了端口重定向。 重定向工作,但所有原始的POST http請求都被重定向爲GET,因此原始POSt請求中的所有參數都會丟失。Tomcat SSL POST請求重定向
如何將連接器配置爲將POST請求重定向爲post?
非常感謝您的幫助!
我在Tomcat下設置了SSL,併爲從http到https的某些URL(使用安全約束)進行了端口重定向。 重定向工作,但所有原始的POST http請求都被重定向爲GET,因此原始POSt請求中的所有參數都會丟失。Tomcat SSL POST請求重定向
如何將連接器配置爲將POST請求重定向爲post?
非常感謝您的幫助!
依靠重定向來升級每個http://
鏈接到https://
通常是不好的做法:這易受MITM攻擊。理想情況下,你應該只給你的用戶https://
鏈接(可能與HSTS)。 (請參閱網站管理員上的this question)
升級重定向主要是爲了降低風險(假設首先沒有MITM攻擊者),並讓用戶習慣於看到https://
。他們最終是唯一能夠檢查使用HTTPS的人。從您的角度來看,請確保所有到HTTPS部分的鏈接都直接使用https://
,並且不要依賴這些重定向。 (出於這個原因,我建議不要在開發過程中啓用http-> https重定向,並使HTTP地址等同於僅用於HTTPS的HTTP地址返回404:至少您會知道何時它的意圖是休息一下。)
即將回到你的問題的核心,你肯定經歷Post/Redirect/Get pattern,這可以被視爲與HTTP規範不兼容(取決於它是如何實現的,並在其上重定向你使用的代碼)。
除了關於Post/Redirect/Get模式的正確性或有用性的可能論據之外,您應該通過不使用重定向來直接解決此問題,而是直接張貼到一個https://
URI(通常最好在您的站點中使用相對URL一次你正在使用HTTPS)。請記住,POST的內容將在第一個請求中發送(在從服務器獲取重定向之前),因此它將被竊聽者看到,從而使得HTTPS無用(因爲它不會在那裏使用)。
有道理,謝謝你的回覆 – user1362319