Отправлен заголовок Strict-Transport-Security, но Chrome все еще запрашивает через http - PullRequest
0 голосов
/ 17 декабря 2018

Я запускаю новый сайт в Google App Engine с настраиваемым доменом и хочу, чтобы весь трафик проходил через https.

Я создал тестовый сценарий на http://rublonde.com/tmp:

<?
header("Strict-Transport-Security: max-age=180; includeSubdomains");
print $_SERVER['HTTP_X_FORWARDED_PROTO'];

(Содержание сайта не соответствует имени домена, я просто временно использую этот домен в качестве пользовательскогодомен, так что я могу получить работу заголовка HTTPS.)

В Google App Engine, HTTP_X_FORWARDED_PROTO будет http или https.При первой загрузке этой страницы я предполагал, что он получит заголовок HSTS, а затем при последующих загрузках страницы Chrome должен автоматически запрашивать страницу через https.

Не понимаю ли я, как работает HSTS?Я делаю что-то неправильно?

1 Ответ

0 голосов
/ 17 декабря 2018

Ах, я понял, что заголовки HSTS игнорируются при отправке через соединение http (я думаю, потому что они должны быть связаны с действительным сертификатом, который поставляется с соединением https).

https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security#HSTS_mechanism_overview

Сервер реализует политику HSTS, предоставляя заголовок через соединение HTTPS (заголовки HSTS через HTTP игнорируются).

...