как отключить HSTS в haproxy

У меня есть тестовый веб-сайт с завершением haproxy-ssl (haproxy 1.5.8 2014/10/31, debian jessie stock), где срок действия сертификата истек. Я хотел бы иметь возможность пользоваться сайтом при получении нового сертификата, но Chrome и firefox сообщают мне, что у меня включен HSTS. Я посмотрел, что мне нужно, чтобы включить HSTS в haproxy, но мне кажется, что у меня нет ни одной из соответствующих строк в моем haproxy.conf . Кроме того, я не вижу никаких следов соответствующего заголовка Strict-Transport-Security ни при использовании инспектора chrome / firefox, ни при использовании curl.

Заголовки, которые я получаю при использовании curl --insecure -i https: // .... являются:

Date: Mon, 02 Jul 2018 07:27:31 GMT
Server: Apache
Last-Modified: Fri, 29 Jun 2018 08:54:36 GMT
Vary: Accept-Encoding
Content-Type: text/html
X-Varnish: 296609
Age: 0
Via: 1.1 varnish-v4
ETag: W/"962f-56fc3ff5ab00b-gzip"
Transfer-Encoding: chunked
Connection: close
Accept-Ranges: bytes
Set-Cookie: ServerID=A; path=/
Cache-control: private

Как временно отключить HSTS? Как я могу определить, почему HSTS включается в первую очередь?

0
задан 2 July 2018 в 10:38
1 ответ

Как видно из вывода curl , в настоящее время заголовок Strict-Transport-Security отсутствует. В HAProxy было бы http-response set-header Strict-Transport-Security ... в конфигурации.

Он был там до , возможно, время от времени до того, как у вас был HAProxy перед веб-сервером. Это до того, как HSTS по замыслу кэшируется браузером на max-age = секунд. Если бы вы там, например, max-age = 31536000 , он был кэширован в течение года, считая с момента последнего присутствия заголовка.

RFC 6797 6.1.1. Директива max-age

REQUIRED max-age определяет количество секунд, после приема поля заголовка STS, во время которого UA рассматривает хост (от которого было получено сообщение) как Известный HSTS Хост.

Невозможно временно отключить HSTS на стороне сервера, удалив заголовок. Вам необходимо обновить свои сертификаты раньше, чтобы новый сертификат был доставлен до истечения срока действия старого. Еще лучше: автоматизируйте процесс обновления, как Certbot для Let's Encrypt сертификатов.

2
ответ дан 4 December 2019 в 13:25

Теги

Похожие вопросы