Я пытаюсь внедрить HSTS в типобезопасный сервер play framework, используя код Scala.
Я обновил файл application.config следующей строкой:
play.filters.enabled += "play.filters.headers.SecurityHeadersFilter"
play.filters.headers.frameOptions = "DENY"
play.filters.https.strictTransportSecurity="max-age=31536000;includeSubDomains; preload"
Итак, после добавления этого, когда я выполняю URL-адрес: https://www.mywebsite.com в почтальоне, в столбец заголовков, который я ожидаю увидеть:
content-length: 85
content-type: text/html; charset=utf-8
request-time: 2
x-frame-options: DENY
strict-transport-security: max-age=15552000; preload
Эти длина, тип и время контента уже приходят, но эти строгие параметры транспорта не отражаются в ответе заголовков в почтальоне, публикующем изменения кода в файле конфигурации.
Помимо приведенной выше строки кода, я даже добавил эту строку кода в app.config:
https {
strictTransportSecurity = "max-age=31536000; includeSubDomains"
redirectStatusCode = 308
}
Но эти изменения также не влияют на заголовки ответов.
Короче говоря, я ожидаю, что если я использую curl в git bash для своего сайта, я увижу то же самое, что и для Facebook:
curl --head https://www.facebook.com
x-frame-options: DENY
strict-transport-security: max-age=15552000; preload
x-content-type-options: nosniff
То же самое для моего URL, когда я помещаю https://www.mywebsite.com, мне нужно увидеть:
strict-transport-security: max-age=15552000; preload
в столбце ответов заголовков, но я этого не вижу.
Может ли кто-нибудь указать, где я ошибаюсь в этом. Я новичок в HSTS и Scala, а также в задачах безопасности.
Я попытался добавить в файл App.config
play.filters.enabled += "play.filters.https.RedirectHttpsFilter"
play.filters.https.redirectEnabled = true
play.filters.enabled += "play.filters.headers.SecurityHeadersFilter"
play.http.forwarded.trustedProxies=["0.0.0.0/0", "::/0"]
play.filters.https.strictTransportSecurity = "max-age=31536000;
includeSubDomains; preload"
play.filters.https.redirectStatusCode = 301
Но не приходит ответ заголовков. Где еще я должен изменить код в playframework, чтобы отображать его в заголовках.