1

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

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

例子:

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

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

4

1 回答 1

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

  2. 使用HTTP 严格传输安全。这将告诉浏览器将来即使用户输入 HTTP 也直接转到 HTTPS 页面。

于 2013-11-13T19:34:30.253 回答