在java Web应用程序中,我的目标是仅接受https请求并拒绝所有http请求。
在spring security配置文件中,我在intercept-url标记中使用requires-channel =“https”属性,但是如果用户请求http,则会自动重定向到https。
示例:
<intercept-url pattern="/**" access="permitAll" requires-channel="https" />
如果客户端尝试通过http点击应用,我该怎样才能回复404 Not Found,因此不会自动重定向到https?
答案 0 :(得分:1)
您应该允许HTTP,但是立即重定向到同一个URL,但是在HTTPS。您可以在Tomcat中集中执行此操作,也可以在其他系统(如NginX
使用HTTP Strict Transport Security。即使用户输入HTTP,这也会告诉浏览器将来直接进入HTTPS页面。