【问题标题】:How to accept only https traffic and deny all http traffic using Spring Security?如何使用 Spring Security 仅接受 https 流量并拒绝所有 http 流量?
【发布时间】:2013-10-02 16:08:37
【问题描述】:

在 java web 应用程序中,我的目标是只接受 https 请求并拒绝所有 http 请求。

在 spring 安全配置文件中,我在 intercept-url 标记中使用 requires-channel="https" 属性,但是如果用户请求 http,它会自动重定向到 https。

例子:

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

如果客户端尝试通过 http 访问应用程序,我该如何响应 404 Not Found,结果不会自动重定向到 https?

【问题讨论】:

  • 这样对用户来说是不是很不方便?

标签: java spring security http https


【解决方案1】:
  1. 您应该允许 HTTP,但立即重定向到相同的 URL,但使用 HTTPS。您可以在 Tomcat 或 NginX 等其他系统上集中执行此操作

  2. 使用HTTP Strict Transport Security。这将告诉浏览器将来即使用户输入 HTTP 也直接转到 HTTPS 页面。

【讨论】:

  • 我目前在示例中显示的内容已经自动重定向到 https。出于安全原因,我们不希望这样做,因为我们正在开发 OAUTH2 安全令牌服务平台,并且客户端应该确切地知道它正在请求。
猜你喜欢
  • 1970-01-01
  • 2012-04-19
  • 2014-04-27
  • 2019-06-06
  • 1970-01-01
  • 2020-10-07
  • 2023-03-13
  • 2016-07-27
  • 2015-03-01
相关资源
最近更新 更多