LINUX.ORG.RU

Как отключить/вырезать заголовок Upgrade-Insecure-Requests, отправляемый браузерами?

 , ,


0

1

Всем здравствуйте.

Ситуация такая.

Хочу залезть на http://deb.devuan.org/merged/dists/ (да, по HTTP). Браузер – Chromium и любые на его основе: Chrome, Opera, Vivaldi).

Движок Chromium, отличающийся излишней ретивостью и заботой о моей безопасности, зараза такая, автоматически добавляет в запрос

Upgrade-Insecure-Requests: 1

В результате web-сервер «поднимает» протокол до HTTPS (HTTP 307), отдавая мне https://deb.devuan.org/merged/dists/, и дальше бабушка надвое сказала:

  • либо проблема с SSL-сертификатом (потому что сервер – зеркало, одно из многих, и принадлежит какой-то CDN, и его имя вовсе не deb.devuan.org),
  • либо HTTP 404, потому что на 443-м порту отдаётся совсем другое содержимое, и вообще deb-пакеты обычно не передаются по HTTPS.

С одной стороны, это не совсем корректная настройка сервера.

С другой – мой слишком заботливый браузер, мать его, тупо не даёт мне просмотреть содержимое HTTP-ресурса. Mozilla и lynx, кстати, всё позволяют.

Вопрос: как это к х#рам отключить?

Потому что даже вписав к конфиг squid

request_header_access Upgrade-Insecure-Requests deny all

я всё равно не могу добиться желаемого результата (кроме «чистого» дебиановского Chromium’а).

Для остальных браузеров (Chrome, Opera, Vivaldi) даже блокировка доменов checkdomain.de и 1e100.net на уровне колхозного DNS-сервера ни к чему не приводит: похоже, что IP-адреса узлов домена 1e100.net жёстко прописаны в коде, и соединение с ними происходит вообще всегда (DNS over HTTPS отключён).

При этом, если смотреть HTTP-трафик wireshark’ом, то кажется, что с целевым сервером (deb.devuan.org) HTTP-соединения вообще не происходит: Google «знает», что этот сервер может отвечать по HTTPS, и сразу пытается соединить меня с 443-м портом.

Update: именно так. Если на стороне прокси-сервера вообще запретить HTTPS-трафик, то попытка открытия http://deb.devuan.org/merged/dists/ приводит к ошибке ERR_TUNNEL_CONNECTION_FAILED. И не потому, что пресловутый deb.devuan.org не ответил по HTTPS (до этого не дошло), а потому, что поделие Google (Opera, Vivaldi) не смогло позвонить домой в Google (Google, Google).

★★★★★

Может оно запомнило, что раньше ей удавалось проапгрейдить протокол? А если в свежеустановленном попробовать?

fulmar_lor ()
Ответ на: комментарий от fulmar_lor

Нет.

Уже очищал кэш браузера, чистил профиль, сбрасывал DNS-кэш – всё тщетно.

В (старом) Chrome 69.0 всё нормально.

В Chrome 93.0, Opera 78.0 и 79.0, Vivaldi 4.1 (92.0) и 4.2 (93.0) всё так, как я описал.

Может быть, нам Илья @Shpankov что-нибудь скажет?

Bass ★★★★★ ()

Веб-сервер не может поднять протокол, он отвечает на том протоколе, на каком с ним разговаривает браузер.

Твой сервер находится в HSTS Preload списке: https://hstspreload.org/?domain=deb.devuan.org

поэтому браузер и переходит сам на HTTPS.

Ничего поделать тут уже нельзя, сайт сам себя поломал, надо его нормально настраивать. Используй curl.

Legioner ★★★★★ ()
Ответ на: комментарий от Legioner

(You cannot delete preloaded entries.)

Хм, интересно.

Но странно, что если открыть дев тулс в хроме вкладку нетворк, то там видно, что сначала отправляется запрос по http и приходит 307, но на самом деле получается этого http запроса браузер не делает. Зачем тогда его отображать и вводить в заблуждение?

fulmar_lor ()
Последнее исправление: fulmar_lor (всего исправлений: 1)
Ответ на: комментарий от fulmar_lor

А можно результат nslookup вписать в /etc/hosts под другим именем (напр., devooan.org.ru) и открывать по новому имени (поскольку HTTP).

Но вообще, когда меня насильно пытаются сделать счастливым – меня это раздражает. По меньшей мере.

Bass ★★★★★ ()
Последнее исправление: Bass (всего исправлений: 2)

HSTS задумывался так, что в браузерах его по умолчанию отключать нельзя.

У wget есть опция --no-hsts, у curl подозреваю тоже что-то подобное

Pinkbyte ★★★★★ ()

и вообще deb-пакеты обычно не передаются по HTTPS

А почему так? Это связано со стабильностью?)

я всё равно не могу добиться желаемого результата (кроме «чистого» дебиановского Chromium’а).

Все работает на открытом, но не работает в проприетарщине?

Dog ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.