当前位置: 首页 > 知识库问答 >
问题:

Spring Boot https重定向

陈瀚
2023-03-14

我向AWS部署了一个SpringBoot web应用程序,并为域配置了SSL证书。每次单击映射到的“登录”按钮时:

@RequestMapping("/login")
public String login(){
   return "login";
}

我被重定向到https登录页面。然而,当用户尝试访问需要授权的页面时,他会被重定向到不安全的http登录页面。我的Spring Security如下所示:

http
.authorizeRequests()
.antMatchers(HttpMethod.GET,"/","/css/**","/images/**","/js/**").permitAll()
.antMatchers("/").permitAll()
.antMatchers("/index").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.deleteCookies("remember-me")
.logoutSuccessUrl("/login?logout")
.permitAll();

下面是一个实时示例:test4test.io

共有1个答案

洪承天
2023-03-14

假设该连接在到达应用程序之前是安全的,您必须将以下内容添加到安全配置中以确保所有请求的安全。

http.requiresChannel().anyRequest().requiresSecure();

如果tls在负载均衡器终止(这可能不理想,但也有一些情况),那么这可能不起作用。在这种情况下,在aws alb/nlb中,可以在端口80上添加一个监听器,该监听器可以重定向到端口443。这不需要对应用程序进行任何更改,因为在应用程序收到请求之前,重定向会从hte负载均衡器发生。

 类似资料:
  • 我想知道301和307重定向之间的区别。 我希望通过自制url重定向器生成反向链接,我希望任何“链接果汁”或“页面排名果汁”都能直接从原始主页流向最终url,但如果其中一个原始主页出现问题,我希望能够通过删除该特定页面的重定向链接来关闭该链接。有道理? 我的理解是,301是永久性的,这意味着谷歌将看到301并更新其缓存的URL作为最终目的地,而不管我以后是否取消重定向。 如果我使用307,它将不会

  • Django 原生自带一个可选的重定向应用。它将简单的重定向保存到数据库中并处理重定向。它默认使用HTTP 响应状态码301 Moved Permanently。 安装 请依照下面的步骤安装重定向应用: 确保django.contrib.sites 框架已经安装。 添加'django.contrib.redirects' 到 INSTALLED_APPS 设置中。 添加'django.contri

  • 重定向 可以使用redirect助手函数进行重定向 <?php namespace app\index\controller; class Index { public function hello() { return redirect('http://www.thinkphp.cn'); } } redirect函数和控制器的redirect方法的参数

  • 问题内容: 我有一个网页。该网页将用户重定向到另一个网页,或多或少通过以下方式: 好吧,您知道,我要做的是将GET参数转换为POST参数。不要告诉我这很不好,我知道我自己,这也不是我真正要做的,重要的是我从数组中收集数据并尝试通过POST将其提交到另一个页面。但是,如果用户关闭了JavaScript,它将无法正常工作。我需要知道的是:有没有一种方法可以通过PHP传递POST参数,以便重定向也可以通

  • 问题内容: 我正在Tomcat环境中学习Java servlet。我正在学习如何使用j_security_check使用基于表单的登录身份验证。因此,在我的servlet中,我有一个具有j_username和j_password的登录页面。在该servlet的web.xml文件中,我有一个欢迎页面列表,指示我的登录页面“ landing.html”。因此,理想情况下,成功登录后,我希望用户重定向到

  • 问题内容: 我的应用程序有许多System.out.println()语句。 我想从println捕获消息并将其发送到标准记录器(Log4j,JUL等)。 怎么做 ? 问题答案: System类具有,可以用于将输出流更改为例如具有支持的新File流,在这种情况下,可能是另一个使用你选择的日志记录子系统的流。 请记住,如果你将日志记录库配置为输出到标准输出或错误(可能是无限递归类型),则很可能会遇到

  • 主要内容:重定向的工作流程,转发和重定向的区别,response.sendRedirect(),示例重定向属于客户端行为。服务器在收到客户端请求后,会通知客户端浏览器重新向另外一个 URL 发送请求,这称为请求重定向。它本质上是两次 HTTP 请求,对应两个 request 对象和两个 response 对象。 重定向的工作流程 重定向的工作流程如下: 用户在浏览器中输入 URL,请求访问服务器端的 Web 资源。 服务器端的 Web 资源返回一个状态码为 302 的响应信息,该响应的含义为:通

  • 创建网站时,重定向非常重要。 如果请求格式错误的URL或服务器上存在某些错误,则应将其重定向到相应的错误页面。 重定向还可用于阻止人们进入您网站的受限区域。 让我们创建一个错误页面,并在有人请求格式错误的URL时重定向到该页面。 var koa = require('koa'); var router = require('koa-router'); var app = koa(); var _