Mi aplicación web se ejecuta en un número diferente de hosts que controlo. Para evitar la necesidad de cambiar la configuración de Apache de cada vhost, agrego la mayor parte de la configuración usando archivos .htaccess en mi repositorio para que la configuración básica de cada host sea solo un par de líneas. Esto también hace posible cambiar la configuración al implementar una nueva versión. Actualmente, .htaccess (des) establece encabezados, hace algo de magia de reescritura y controla el almacenamiento en caché del UA.
Quiero habilitar HSTS en la aplicación usando .htaccess. Simplemente configurar el encabezado es fácil:
Header always set Strict-Transport-Security "max-age=31536000"
Pero la especificación establece claramente: "Un host HSTS NO DEBE incluir el campo de encabezado STS en las respuestas HTTP transmitidas por transporte no seguro". Entonces no quiero enviar el encabezado cuando lo envío a través de conexiones HTTP. Consulte http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14 .
Traté de configurar el encabezado usando variables de entorno, pero me quedé atascado allí. ¿Alguien que sepa cómo hacer eso?