Я боролся с заголовками HSTS в Traefik в течение нескольких дней, когда я узнал кое-что важное о HSTS:
Ваш браузер будет игнорировать любые заголовки STS, когда используемый вами сертификат считается ненадежным / безопаснымваш браузерВы можете проверить это (в Chrome) с помощью вкладки безопасности в инструментах разработчика.
Чтобы HSTS (HTTP Strict Transport Security) работал, мне пришлось решить следующие несколько вещей в моем конкретном сценарии:
Сертификат, который я использовал для разработки,был самоподписанный и установлен на мою машину. Но поскольку он был самоподписанным, он не был помещен в каталог « Доверенные корневые центры сертификации ». Мой браузер пожаловался, что не может найти мой сертификат в этом каталоге, поэтому мне пришлось поместить его туда, иначе браузер все равно будет считать сертификат небезопасным. Обратите внимание, что это было предназначено только для целей разработки, официальные сертификаты были в пути.
Сначала я создал свой сертификат, поместив свой домен в CN (Common Name) раздел. В настоящее время браузер игнорирует этот раздел и ищет SAN (альтернативные имена субъектов). Я должен был создать новый сертификат с моим доменом в этом разделе.
Эти две вещи были тем, что я пропустил, после решения этих проблем, мои заголовки STS (используемые в метках обслуживания docker-compose) Работали. Ярлыки ( Traefik v1.7 ) выглядят следующим образом:
my_service:
deploy:
labels:
- "traefik.frontend.headers.STSPreload=true"
- "traefik.frontend.headers.STSSeconds=31536000"
Надеюсь, это кому-нибудь поможет.