Redirección a https y activar hsts mediante .htaccess

Para redirigir todo de http a https:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Para activar HSTS en Apache (con PHP5.6 funciona, con PHP 7 no):

Header add Strict-Transport-Security “max-age=31415926;

Incluso si quieres agregar el dominio al listado de preloading https://hstspreload.appspot.com/ deberías poner:

Header add Strict-Transport-Security “max-age=31415926; includeSubDomains; preload” env=HTTPS

Para activar HSTS en nginx:

add_header Strict-Transport-Security max-age=15768000;

 Si después de trastear quieres volver atrás, quizá tengas que borrar la cache de tu navegador, en firefox: about:permissions y en chrome: chrome://net-internals/#hsts

Nada más incluirlo, si cumples todos los requisitos, obtendrás el mensaje:

Thank you! That domain has been queued for review. Review can take several weeks. You can check the status by entering the same domain again in the future. That domain name has already been accepted and is pending review. Note that review can take several weeks.

Y en cosa de 10 días (pese a que que pone several weeks) he vuelto a comprobar el mismo dominio y ya devuelve:

That domain name is already preloaded! If you don’t see it, note that changes follow the usual canary, dev, beta, stable progression and so can take several months to reach a stable release.

Lo que no me termina de quedar claro es si para poder activar HSTS necesitas un wilcard certificate si no tienes subdominios y sirves todo bajo el dominio principal o el certificado que tienes es para www pero solo tienes ese subdominio.

Actualización: mira tu lista de dominios bajo hsts en tu chrome local con: chrome://net-internals/#hsts

Deja un comentario