У меня есть локальный сервер, обслуживающий HTTPS с использованием самозаверяющего сертификата. Это не служит http. Сертификат выдан с cn = host1.subdomain1.domain1. Сервер также доступен под именем host2. Если я открываю https://host2, я получаю предупреждения, но могу определить исключение для сертификата и получить доступ к содержимому серверов. Сервер не возвращает и никогда не возвращал заголовок HSTS. Если я получаю доступ к серверу через https://host1.subdomain1.domain1, Firefox выдает предупреждение HSTS и не допускает исключения. Возможно, что серверы в домене domain1 или subdomain1.domain1 доставили заголовки HSTS. Возможно, они применимы и к поддоменам.

Но: Даже после очистки истории и записей о разрешениях, поведение остается тем же. Итак, откуда берется информация HSTS?

1 ответ1

1

Заголовок HSTS может дать указание браузеру включить субдомены с помощью includeSubDomains . Браузеры могут также содержать предварительно загруженный список доменов, которые используют HSTS.

  • Сайт может использовать следующее, чтобы указать HSTS с шестимесячной продолжительностью и включающий субдомены:

    Strict-Transport-Security: max-age=15768000; includeSubDomains
    
  • Эффект от этого точно такой же, как описано в вашем вопросе. Ключом здесь является includeSubDomains в конце строки заголовка.

  • Обратите внимание, что текущие версии большинства основных браузеров поддерживают внутренний список веб-сайтов, которые, как известно, используют HSTS и поэтому могут требовать подключения HTTPS даже при первом подключении к определенному домену. См. Также: OWASP в HTTPS. Строгая транспортная безопасность.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .