我有與本地IP像LOCALIP但用戶一個網絡接口的服務器上運行的Apache Tomcat服務器希望看到一個公網IP像PUBLICIP服務器,他們不應該看到的服務器本地IP。所有這些配置都在硬件防火牆上完成。的Apache Tomcat的sendRedirect
用戶使用地址PUBLICIP /炫魅用於訪問應用程序和應用檢查用戶是否被認證或沒有。如果用戶未通過身份驗證,則用戶將重定向到PUBLICIP /登錄。 當用戶重定向到/登錄頁面時,他將看到Page Not Found(404),但是如果他在瀏覽器中手動輸入PUBLICIP /登錄地址,他可以看到登錄頁面。
我們使用HttpServletResponse.sendRedirect用於將用戶重定向到登錄頁面。
我認爲這是一個重定向問題,因爲任何ping請求PUBLICIP都會被防火牆出於安全考慮被丟棄。該servlet嘗試重定向到公共IP地址。
這裏有什麼安全問題?您也可以粘貼您的重定向和身份驗證代碼 – UVM
我們使用cas進行身份驗證,並且我們覆蓋CasProcessingFilterEntryPoint類的開始方法。在使用HttpServletResponse.sendRedirect(VALIDIP/login)的commnece方法結束時。我們的服務器是一個NAT,安全問題是我們不希望用戶直接用VALIDIP看到服務器。 –
你能看到實際發送的重定向頭部是什麼嗎? 您可以使用telnet客戶端進行測試,例如 telnet PUBLICIP 80 然後鍵入: GET/HTTP/1.0 回覆是什麼? –