Вопрос или проблема
Я не могу получить доступ к веб-странице моего маршрутизатора, которая находится по адресу http://192.168.1.1, потому что она перенаправляет меня на https://192.168.1.1 (выдает ERR_SSL_VERSION_OR_CIPHER_MISMATCH
). Я знаю, что Google перешел на https по некоторым причинам, но я вообще не могу открыть маршрутизатор.
Неудачные решения:
- Пытался использовать Chrome и Edge на ноутбуке, но не смог открыть веб-страницу.
- Пытался открыть веб-страницу с помощью Chrome на своем телефоне, но не смог открыть веб-страницу.
- Пытался открыть
chrome://net-internals/#hsts
и запросить192.168.1.1
, но выдаетНе найдено
; похоже, это не работает с IP, так же как и с веб-сайтами. - Пытался открыть анонимную веб-страницу, но не смог открыть веб-страницу.
Эта проблема очень недавняя, и любые решения на 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
является распространенной. В данном ответе мы рассмотрим возможные причины этого поведения и предложим несколько решений, включая использование обратного проксирования.
Причины проблемы
-
Принудительное использование HTTPS: Возможно, браузер Chrome пытается установить соединение по HTTPS, даже если ваша веб-страница роутера доступна только по HTTP. Это может вызвать ошибку, так как у роутера могут отсутствовать необходимые SSL-сертификаты или поддержка современных шифров.
-
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
-
Установите Apache и необходимые модули:
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod ssl
-
Создайте конфигурацию виртуального хоста:
<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>
-
В этом примере вам потребуется действующий SSL сертификат для домена
router.local
. Вы можете использовать самоподписанный сертификат, однако при его использовании вас будет предупреждать браузер. -
Перезагрузите сервер Apache:
sudo systemctl restart apache2
Теперь вы можете открыть ваш роутер по адресу https://router.local
.
Заключение
Если вы сталкиваетесь с проблемами доступа к веб-интерфейсу вашего роутера из-за перенаправления на HTTPS, использовать вышеописанные методы могут помочь. Если вы не уверены в тех настройках, которые выполняете, рекомендуется обратиться к профессиональному ИТ-специалисту для решения возникших проблем. Надеюсь, что это руководство окажется полезным и поможет вам восстановить доступ к вашему роутеру.