2013-09-26 29 views
1

在java web應用程序中,我的目標是僅接受https請求並拒絕所有http請求。如何僅接受https流量並使用Spring Security拒絕所有http流量?

在spring安全配置文件中,我在攔截url標記中使用了requires-channel =「https」屬性,但是如果用戶請求http,它會自動重定向到https。

例子:

<intercept-url pattern="/**" access="permitAll" requires-channel="https" /> 

如果客戶端嘗試打通過HTTP的應用程序,我怎麼能有404未找到響應,其結果不會自動重定向到https?

+1

對用戶來說不是那種不方便嗎? –

回答

1
  1. 您應該允許HTTP,但立即重定向到相同的URL,但HTTPS。您可以在Tomcat中集中執行此操作,也可以在不同的系統上執行此操作,例如NginX

  2. 使用HTTP Strict Transport Security。這將告訴瀏覽器將來,即使用戶輸入HTTP,也會直接進入HTTPS頁面。

+1

我目前在示例中顯示的內容已自動重定向到https。我們不希望出於安全考慮,因爲我們正在開發一個OAUTH2安全令牌服務平臺,客戶端應該知道它正在請求。 – Jesse

相關問題