So setzen Sie den HSTS-Header von .htaccess nur auf HTTPS

Meine Webanwendung wird auf einer anderen Anzahl von Hosts ausgeführt, die ich kontrolliere. Um zu verhindern, dass die Apache-Konfiguration jedes vhost geändert werden muss, füge ich den größten Teil der Konfiguration mithilfe von .htaccess-Dateien in mein Repo ein, sodass die Grundkonfiguration jedes Hosts nur aus ein paar Zeilen besteht. Dadurch ist es auch möglich, die Konfiguration beim Bereitstellen einer neuen Version zu ändern. Gegenwärtig setzt die .htaccess-Datei die Header, schreibt sie neu und steuert das Caching der Benutzeroberfläche.

Ich möchte HSTS in der Anwendung mit .htaccess aktivieren. Das einfache Setzen des Headers ist ganz einfach:

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

In der Spezifikation heißt es jedoch eindeutig: "Ein HSTS-Host DARF das STS-Header-Feld NICHT in HTTP-Antworten enthalten, die über einen nicht sicheren Transport übertragen werden." Daher möchte ich den Header nicht senden, wenn er über HTTP-Verbindungen gesendet wird. Sehenhttp://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14 .

Ich habe versucht, den Header mithilfe von Umgebungsvariablen zu setzen, bin dort jedoch hängen geblieben. Weiß jemand, wie das geht?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage