Приехал я на выходные на дачу, пожарил шашлычок, натопил баньку, да сел в интернете посидеть немножко. А интернет мой неожиданно стал выглядеть вот так (надеюсь продавец мерса на меня не обидится, но скриншот сохранился вот такой только):
Сначала я грешил на скорость 3G, браузер, ОС и т.д. и т.п., но как оказалось все не то.
А проблема в том, что HTTPS-сайты через 3G модем Билайн вдруг практически перестали открываться.
Про проблему с HTTPS я не сразу догадался конечно. Сначала я грешил на качество связи, вспомнил молодость, когда «картинки не прогружались» из-за низкой скорости. Ну и проверил скорость на популярных ресурсах speedtest.net и internet.yandex.ru. И спидтест и яндекс выдавали примерно одинаковую скорость, 3-10Мбит. Что вполне нормально, учитывая, что покрытия 4G у нас в дачном поселке нет, но с 3G все отлично, модем работает в режиме DC-HSPA+ и показывает «все палки».
Попробовал открывать разные другие сайты, некоторые открывались, некоторые нет, некоторые были «рваными», или открывались очень долго. Я даже проверил скорость с помощью iperf с ноута на даче до сервера в городе, скорость была похожа на то, что выдавал яндекс и спидтест.
Я уже начал подозревать, что проблема в HTTPS, но почему не работает именно HTTPS, а остальное работает? Бред же?
Что еще я попробовал? Для начала отключил adblock/ublock. Не помогло. Вместо любимого файрфокса запустил IE. Не помогло. Загрузился в Ubuntu, там в файрфоксе ровно те же самые проблемы, сайты открываются с тормозами. Взял другой ноут, подключил модем туда — на другом ноуте тоже проблемы.
Вернулся на свой ноут в файрфокс, запустил панель разработчика и стал методично открывать сайты и смотреть процесс загрузки на таймлайне.
Во-первых, сразу стало понятно, почему сайт drom.ru «порвало»
Оказывается, если смотреть сайт без https, то картинки все равно грузятся (то есть в моем случае — НЕ грузятся) с https-сервера.
Во-вторых, я действительно убедился, что проблема в HTTPS. Для этого открыл сайт http:// 4pda.ru и https:// 4pda.ru, и вот что получилось:
Сайт с https не то чтобы совсем не грузится. Он грузится, но… код страницы загружается 40 секунд, а вся страницы целиком с картинками и скриптами — 8 минут! Причем та же самая страница без SSL загружается 0.5 сек код и полная загрузка за 12 секунд. Разница во времени загрузки в 40, а местами в 80 раз!
Тут стало понятно про «тормоза» остальных сайтов. Они нет-нет и все имеют вставочки js с https-серверов. Ведь https сейчас модно, недорого, и вообще мастхэв (а браузеры уже начинают ругаться на не-https сайты)
Ладно, то что проблема с HTTPS — разобрались. Но кто виноват? Отключаю модем от компьютера, включаю точку доступа на телефоне (провайдер — тоже Билайн) и… ура! Все работает без проблем. Хм, проблема в самом модеме?
Хорошо, вынимаю симку с телефона, вставляю в модем. Модем в компьютер. И ура! Все работает без проблем!
Вставляю симку «модемную» обратно в модем, и все возвращается — HTTPS тормозит просто адски.
Для чистоты эксперимента вставляю модем с «модемовской симкой билайн» в wifi-роутер, подключаюсь к нему с телефона — HTTP на телефоне работает, HTTPS — нет. Отключаю WIFI, через «телефонную симку билайн» интернет на телефоне есть.
Какие выводы промежуточные? Проблема НЕ в: компьютере, ОС, модеме, браузере. Она привязана к SIM-карте. С этой симкой HTTPS работает неадекватно.
Тут стоит заметить, что не весь HTTPS работает неадекватно, что сразу отвлекало меня от правильного пути. А именно: сайты https:// google.com, https:// gmail.com, https:// youtube.com (и все ролики с него, в HD качестве) и https:// yandex.ru работали отлично. И личный кабинет билайна работал по https (но с ним непонятно, он и в лучшие свои времена тормозной какой-то) А вот https:// ya.ru уже нет (yandex.ru работал)! А так же не работали: https:// lenta.ru https:// 4pda.ru https:// spec.drom.ru https:// ngs.ru/
Обратился я конечно в техподдержку Билайна, описав проблему. На что мне с ходу ответили (цитирую): «Данная ситуация никак не может быть связана с нами, мы просто предоставляем вам интернет. Попробуйте зайти через другой браузер». Конечно оператора не остановило то, что я сообщил в заявке, что «пробовал другой браузер, другую ОС и вообще другой компьютер».
В итоге я снял дамп HTTPS-соединения с сайтом с помощью wireshark, но так и не понял, что там происходит. MitM или что-то другое (смущает постоянный реордер пакетов)
Кстати, TOR-браузер вообще не запускается (не может загрузить состояние сети)
У кого какие идеи, зачем Билайн лезет в HTTPS-трафик?
Автор: trublast