Не могу получить доступ к веб-странице моего маршрутизатора, потому что Chrome принудительно использует https.

Вопрос или проблема

Я не могу получить доступ к веб-странице моего маршрутизатора, которая находится по адресу http://192.168.1.1, потому что она перенаправляет меня на https://192.168.1.1 (выдает ERR_SSL_VERSION_OR_CIPHER_MISMATCH). Я знаю, что Google перешел на https по некоторым причинам, но я вообще не могу открыть маршрутизатор.

Неудачные решения:

  1. Пытался использовать Chrome и Edge на ноутбуке, но не смог открыть веб-страницу.
  2. Пытался открыть веб-страницу с помощью Chrome на своем телефоне, но не смог открыть веб-страницу.
  3. Пытался открыть chrome://net-internals/#hsts и запросить 192.168.1.1, но выдает Не найдено; похоже, это не работает с IP, так же как и с веб-сайтами.
  4. Пытался открыть анонимную веб-страницу, но не смог открыть веб-страницу.

Эта проблема очень недавняя, и любые решения на Stack Overflow не помогли.

Есть предложения?

Один из способов решения этой проблемы – использовать реверсивный прокси.

  • Установите веб-сервер в вашей сети, например, Apache; возможно, у вас уже есть один.
  • Создайте имя хоста для маршрутизатора, например, router.local, которое является просто псевдонимом для веб-сервера, а не 192.168.1.1.
  • В веб-сервере создайте определение виртуального хоста для router.local, который будет реверсивно проксировать на 192.168.1.1.

Вот определение Apache, которое я на самом деле использую для этого. Оно требует загрузки некоторых модулей, таких как mod_proxy, mod_https и, конечно, mod_ssl:

<VirtualHost *:443>
  ServerName router.local
  ServerAlias router    
  SSLEngine on
  CustomLog /var/log/apache2/router.log common
  ProxyPass "/" "http://192.168.1.1/"
  ProxyPassReverse "/" "http://192.168.1.1/"
</VirtualHost>

Причина, по которой вам, вероятно, нужен виртуальный хост, а не просто проксирование URL-субстраницы, такой как webserver.local/router, заключается в том, что веб-интерфейс маршрутизатора вероятно содержит абсолютные ссылки на ресурсы, такие как /favicon.ico, /script.js и т. д. Браузер, следовательно, будет пытаться получить их с веб-сервера, например webserver.local/style.css, а не webserver.local/router/style.css. Это моя ситуация с маршрутизатором.

HTTPS-соединения завершаются на вашем веб-сервере, который обновлен и поддерживает все необходимые шифры TLS. Прокси подключается к старому маршрутизатору (который может быть даже по HTTP, если это необходимо: и в этом случае вы можете снизить риск, напрямую подключив маршрутизатор и сервер).

Я не указал SSL-учетные данные в приведенном выше VirtualHost, поэтому сертификат, который видит браузер, является сертификатом собственного домена веб-сервера. Этот сертификат не соответствует домену router.local; это действительно сертификат для внешнего использования, такой как example.com. Браузер выдает ошибку и должен быть уведомлен о том, чтобы продолжить с сертификатом example.com для https://router.local. (Хорошо работает на обновленном Chrome на телефоне Google.)

Способ исправить несоответствие – создать самоподписанный сертификат для маршрутизатора, а затем указать его в определении VirtualHost, используя SSLCertificateFile и другие параметры; но, конечно же, вы все равно столкнетесь с проблемой на стороне браузера, принимая самоподписанный сертификат, что также вызывает раздражение.

Ответ или решение

Ваша проблема с невозможностью доступа к веб-странице вашего роутера из-за перенаправления на HTTPS и ошибки ERR_SSL_VERSION_OR_CIPHER_MISMATCH является распространенной. В данном ответе мы рассмотрим возможные причины этого поведения и предложим несколько решений, включая использование обратного проксирования.

Причины проблемы

  1. Принудительное использование HTTPS: Возможно, браузер Chrome пытается установить соединение по HTTPS, даже если ваша веб-страница роутера доступна только по HTTP. Это может вызвать ошибку, так как у роутера могут отсутствовать необходимые SSL-сертификаты или поддержка современных шифров.

  2. HSTS (HTTP Strict Transport Security): Если ваш браузер посещал страницу с использованием HTTPS раньше, он мог сохранить этот параметр. Это заставляет браузер всегда использовать HTTPS, даже если вы пытаетесь перейти на HTTP.

Решения

1. Использование режима инкогнито или других браузеров

Попробуйте открыть страницу в режиме инкогнито или в другом браузере. Это может обойти настройки HSTS, так как в инкогнито режиме данные, такие как кеш и cookies, не сохраняются.

2. Очистка HSTS

Вы можете попытаться сбросить настройки HSTS вашего браузера:

  • Перейдите на страницу chrome://net-internals/#hsts.
  • Введите 192.168.1.1 в поле "Query domain" и нажмите "Query".
  • Если вы видите "Not Found", это означает, что домен не сохранялся в HSTS, и вам не нужно ничего сбрасывать.

Если же он есть, используйте команду для сброса HSTS:

  • В консоли введите: chrome://settings/reset.
  • Выберите "Восстановить настройки по умолчанию".

3. Использование обратного проксирования

Если предыдущие методы не помогли, один из наиболее эффективных способов обхода проблемы заключается в использовании обратного проксирования. На своем локальном сервере (например, Apache или Nginx) вы можете настроить прокси, который будет принимать соединения по HTTPS и перенаправлять их на ваш роутер по HTTP.

Пример конфигурации Apache
  1. Установите Apache и необходимые модули:

    sudo a2enmod proxy
    sudo a2enmod proxy_http
    sudo a2enmod ssl
  2. Создайте конфигурацию виртуального хоста:

    <VirtualHost *:443>
       ServerName router.local
       SSLEngine on
       SSLCertificateFile /path/to/your/certificate.crt
       SSLCertificateKeyFile /path/to/your/private.key
       ProxyPass "/" "http://192.168.1.1/"
       ProxyPassReverse "/" "http://192.168.1.1/"
    </VirtualHost>
  3. В этом примере вам потребуется действующий SSL сертификат для домена router.local. Вы можете использовать самоподписанный сертификат, однако при его использовании вас будет предупреждать браузер.

  4. Перезагрузите сервер Apache:

    sudo systemctl restart apache2

Теперь вы можете открыть ваш роутер по адресу https://router.local.

Заключение

Если вы сталкиваетесь с проблемами доступа к веб-интерфейсу вашего роутера из-за перенаправления на HTTPS, использовать вышеописанные методы могут помочь. Если вы не уверены в тех настройках, которые выполняете, рекомендуется обратиться к профессиональному ИТ-специалисту для решения возникших проблем. Надеюсь, что это руководство окажется полезным и поможет вам восстановить доступ к вашему роутеру.

Оцените материал
Добавить комментарий

Капча загружается...