Как отправить трафик с веб-сайта на порт http, если у меня установлена Strict-Transport-Security?
Как отправить трафик с веб-сайта на порт http
если у меня есть Strict-Transport-Security применяется
Например, у меня есть строгая безопасность транспорта
если я вставлю ссылку, которая ведет к http-порту 8000
посетитель направлен на https порт 8000
Результат, который мне нужен был
если я вставлю ссылку, которая ведет к http-порту 8000
посетитель направляется на http порт 8000
Благодарю.
1 ответ
Вы неправильно понимаете, как работает HSTS (HTTP Strict Transport Security). Если вы включите этот заголовок, то клиентские браузеры, поддерживающие HSTS, должны отказаться от создания простых HTTP-соединений с вашим доменом (и, возможно, со всеми поддоменами) на любом порту.
Если пользователь пытается подключиться к http://www.example.com/ (подразумевается порт 80), браузер автоматически переключится на этот https://www.example.com/ (подразумевается порт 443)
Если пользователь пытается подключиться к http://www.example.com:8000/ (или к любому порту, отличному от 80/443), браузер автоматически изменит это на https://www.example.com:8000/ (или какой порт был указан).
Если вы включите HSTS, вы должны быть готовы обслуживать весь HTTP-трафик вашего домена через безопасное соединение.
Я не знаю, что вы сделали, чтобы предположительно обойти это, но работает ли это или нет, это нарушение спецификации HSTS и, даже если это работает сейчас, скорее всего, перестанет работать в будущем.
Правильный ответ - правильно настроить порт 8000 для обслуживания трафика через безопасное соединение.
См. RFC, раздел 8.3, для получения дополнительной информации https://tools.ietf.org/html/rfc6797
-
Редактировать: просто дополнительное пояснение на случай, если это имеет значение в вашем сценарии;
Обратите внимание, что HSTS не волнует, какой сервер или IP-адрес вы используете. Как только вы начинаете обслуживать заголовок для определенного домена из любого места, вы должны передавать весь HTTP-трафик в этот домен на любом сервере через защищенное соединение.
Обратная сторона этого заключается в том, что если у вас есть общий сервер, на котором размещены несколько доменов, домены, которые не обслуживают заголовок HSTS, могут продолжать работать по обычному HTTP с того же сервера. HSTS заботится о домене, а не о сервере.
Таким образом, если служба, имеющаяся у вас на порте 8000, по какой-то причине абсолютно не может работать по HTTPS, тогда другим вариантом будет размещение ее в другом домене или поддомене. Если вы решите использовать поддомен, вы должны быть уверены, что заголовок HSTS не был установлен для включения поддоменов.