Hallo zusammen,
für unsere aktuell selbst gehosteten Discourse-Instanzen müssen wir aufgrund der Anforderungen unserer internen Scanner „IncludeSubDomains“ zu unseren STS-Headern hinzufügen.
Zuvor habe ich dies erreicht, indem ich einige sed-Befehle in app.yml in benutzerdefinierten Befehlen nach dem Build verwendet habe, um /etc/nginx/conf.d/discourse.conf zu aktualisieren und 'add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always; hinzuzufügen,
sowie:
- replace:
filename: "/etc/nginx/conf.d/outlets/discourse/20-https.conf"
from: /add_header Strict-Transport-Security.+/
to: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
global: true
- replace:
filename: "/etc/nginx/conf.d/outlets/server/20-https.conf"
from: /add_header Strict-Transport-Security.+/
to: add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
global: true
Dies funktionierte früher. Allerdings funktioniert es jetzt nicht mehr. Ich habe gelesen, dass das Erstellen einer neuen Outlet-Datei es mir ermöglichen sollte, dies mit Folgendem hinzuzufügen:
hooks:
after_code:
- file:
path: /etc/nginx/conf.d/outlets/server/90-hsts.conf
chmod: 444
contents: |
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
Dies führt jedoch dazu, dass zwei STS-Header vorhanden sind (einer vom SSL-Template und einer von meinem neuen Template). Gibt es eine bessere Möglichkeit, dies zu tun, damit ich nicht mit zwei STS-Headern dastehe? Ich dachte, nginx würde den zuletzt hinzugefügten Header respektieren und den SSL-Template-Header ignorieren, der nur max-age=31536000; enthält. Ist dies also ein Fehler? Vielen Dank für jede Hilfe, die Sie mir geben können.