@Nday001

Как включить HSTS только для стандартных веб портов (80;443)?

Есть локальная сеть. На границе локальной сети и интернета стоит роутер (он же NAT. Типовая схема) Есть домен example.com.
В локальной сети размещён nginx и на него транслируются (проброшены) порты 80;443. На nginx размещён вебсайт и включёно перенаправление на https и включён HSTS.
Также в локальной сети есть вебсервер Apache httpd на котором размещён служебный вебсайт, из интернета он доступен по нестандартному порту 8080 по протоколу HTTP.

Возникла проблема, что после посещения вебсайа httpS://example.com:443, вебсайт example.com:8080 становится недоступен. Браузер пытается установить https соединение, т.к. он запомнил политику HSTS для example.com. Доступ по ip адресу x.x.x.x:8080 осуществляется без нареканий.

Вопрос: можно ли задать политику HSTS только для стандартных портов (80;443), в конфиге nginx, чтоб при доступе по 8080 браузер не пытался переключаться на https?

P.S. переводить apache на https нет необходимости и с точки зрения безопасности, распространения закрытого ключа на ещё одну машину понижает безопасность. Также, доступ к служебному вебсайту на порту 8080 ограничен фаирволлом пограничного роутера, и проксировать его через nginx совершенно не хочется (да и не работает он на нестандартных uri).
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Никак. HSTS по определению привязывается к домену.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
80 порт точно нет, потому что это не ssl порт, hsts запоминается для всего домена если есть subdomain
Ответ написан
Комментировать
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Нестандартные порты для HTTP - это костыль. Я бы, честно говоря, просто перевесил служебный сайт на другой домен и настроил аналогичный редирект на HTTPS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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