Tenemos un problema al intentar redirigir al usuario de http a https: tanto funciona como https está utilizando SSL y funciona sin problemas.

Cuando intentamos redirigir al usuario con diferentes métodos, seguimos recibiendo este error:
ERR_TOO_MANY_REDIRECTS

Los métodos que hemos probado ...

  • Htaccess
  • Aplicando un filtro global en MVC
  • Atributos en el controlador (RequireHttpsAttribute)
  • Web.config (Reglas de reescritura)

Es el mismo resultado para la página 404 que no usa un controlador.

-1
Stefan 28 ene. 2017 a las 22:05

2 respuestas

La mejor respuesta

Proporcione cómo está haciendo la redirección. ¿Estás en una granja web? ¿Se descarga SSL en un equilibrador de carga?

En ciertos escenarios de cloud / hosting, este último es el posible culpable:

E.g.

  • en su aplicación , está buscando una conexión SSL y la aplicación intenta redirigir a una URL https (es decir, HttpRequest.IsSecureConnection)

  • sin embargo, si un equilibrador de carga maneja SSL para su servidor s (granja), la conexión del equilibrador de carga a su host s puede no ser a través de https - y ahí está tu bucle (la verificación de SSL en tu aplicación siempre será false)

    browser: https <-> SSL/Load Balancer <- -> web farm: http

    en este caso, verifique con su proveedor: generalmente tendrán encabezados personalizados que puede inspeccionar cuando envíen la solicitud a su servidor s indicando que la solicitud original era a través de https.

0
EdSF 29 ene. 2017 a las 00:25

Gracias por la ayuda, mi proveedor de hosting lo resolvió con .htaccess. Supongo que lo estaba usando mal. ¡Gracias de nuevo, Stackoverflow!

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.(.*)$ [NC]
RewriteCond %{HTTP:HTTPS} !on
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R,L]

RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteCond %{HTTP:HTTPS} !on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
0
Stefan 29 ene. 2017 a las 15:49