Ciao a tutti,
per le nostre istanze Discourse self-hosted attuali, dobbiamo aggiungere “IncludeSubDomains” alle nostre intestazioni STS a causa di questa aspettativa dei nostri scanner interni.
In precedenza, ottenevo questo utilizzando alcuni comandi sed in app.yml nei comandi personalizzati dopo la build per aggiornare /etc/nginx/conf.d/discourse.conf per includere 'add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;'
così come:
- 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
Questo funzionava in precedenza. Tuttavia, ha smesso di funzionare. Ho letto che la creazione di un nuovo file outlet dovrebbe permettermi di aggiungerlo usando:
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;
Tuttavia, questo si traduce nell’avere due intestazioni STS presenti (una dal template SSL e una dal mio nuovo template). C’è un modo migliore per farlo in modo da non avere due intestazioni STS? Pensavo che nginx rispettasse l’ultima intestazione aggiunta e ignorasse l’intestazione del template SSL che contiene solo max-age=31536000; , quindi si tratta di un difetto? Grazie per qualsiasi guida possiate fornire.