Como definir o cabeçalho HSTS de .htaccess apenas em HTTPS

Meu aplicativo da web é executado em um número diferente de hosts que eu controle. Para evitar a necessidade de alterar a configuração do Apache de cada vhost, adiciono a maior parte da configuração usando os arquivos .htaccess no meu repositório, para que a configuração básica de cada host seja apenas algumas linhas. Isso também possibilita alterar a configuração ao implantar uma nova versão. Atualmente, o .htaccess (un) define cabeçalhos, reescreve algumas mágicas e controla o cache do UA.

Quero habilitar o HSTS no aplicativo usando .htaccess. É fácil definir o cabeçalho:

Header always set Strict-Transport-Security "max-age=31536000"

Mas a especificação afirma claramente: "Um host HSTS NÃO DEVE incluir o campo de cabeçalho STS nas respostas HTTP transmitidas por transporte não seguro". Portanto, não quero enviar o cabeçalho ao enviá-lo por conexões HTTP. Vejohttp://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14 .

Tentei definir o cabeçalho usando vars de ambiente, mas fiquei preso lá. Alguém que sabe fazer isso?

questionAnswers(4)

yourAnswerToTheQuestion