Administro un pequeño sitio web en un entorno de alojamiento compartido LAMP: esto básicamente significa que lo único que puedo editar es un archivo htaccess.
Quería agregar soporte HSTS (y lo hice), pero, cuando probé mi sitio web aquí para la elegibilidad de precarga de HSTS, recibí el siguiente error:
Error: HTTP redirige a www primero
http://example
(HTTP) debe redirigirse inmediatamente ahttps://example
(HTTPS) antes de agregar el subdominio www. En este momento, la primera redirección es ahttps://www.example.
La redirección adicional es necesaria para garantizar que cualquier navegador que admita HSTS registre la entrada HSTS para el dominio de nivel superior, no solo el subdominio.
Entonces, supongo que debería redirigir a los usuarios de esta manera:
http://example
(esto es lo que el usuario ingresa en la barra de direcciones de su navegador)https://example
(lo redirigimos a la versión HTTPS del sitio web)https://www.example
(lo redirigimos nuevamente al subdominio www)
Mi redirección actual se realiza de esta manera:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
Intenté agregar una redirección antes de la última línea, de esta manera:
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
pero recibí un error "la página no está redirigiendo correctamente" del navegador.
Entonces, ¿cuál es la forma correcta de redirigir a un usuario desde la versión http del sitio web a https y finalmente a https con www? Y: ¿hay algún riesgo?
fuente
Strict-Transport-Security
encabezado de respuesta. Por ejemplo, para configurar esto en la redirección, deberá usar elalways
argumento de laHeader
directiva. Respondí una pregunta relacionada en la pila Pro Webmasters (omita la primera parte de mi respuesta sobreon
/off
) que entra en más detalles sobre la implementación de la " precarga HSTS " en.htaccess
..htaccess
preguntas relacionadas únicamente (ServerFault asume que tienes el control total del servidor, en cuyo caso no estarías haciendo esto.htaccess
). Podría decirse que es más fácil implementar esto en la configuración del servidor utilizando<VirtualHost>
contenedores separados (ya que no necesita meterse con entornos y condiciones adicionales , es "más limpio" y menos propenso a errores). No creo que recomendaría el envío de la "lista de precarga" si solo tiene acceso.htaccess
. (Mi 2c)