Lo resolví yo mismo, pero pasé tanto tiempo descubriendo una solución tan simple, pensé que merecía ser documentada aquí.Spring MVC "redirect:" prefix siempre redirecciona a http, ¿cómo puedo mantenerlo en https?
Tengo una configuración típica MVC Spring 3 con un InternalResourceViewResolver:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/" />
<property name="suffix" value=".jsp" />
</bean>
Tengo un método de control bastante simple en mi controlador, pero he simplificado aún más para este ejemplo:
@RequestMapping("/groups")
public String selectGroup() {
return "redirect:/";
}
El problema es que si navego a https://my.domain.com/groups
, termino en http://my.domain.com/
después de la redirección. (En realidad, mi equilibrador de carga redirige todas las solicitudes http a https, pero esto solo causa varias alertas del navegador del tipo "Usted está dejando/ingresando una conexión segura" para las personas que tienen activadas tales alertas)
Así que la La pregunta es: ¿cómo se consigue que la primavera redirija a https cuando eso es lo que usaba la solicitud original?
¿Qué hay de usar sólo "redirigir". Usar una URL relativa después de la redirección debería funcionar también. – qkrijger