У меня странная проблема и куча симптомов, которые я не могу понять.
У меня есть домен .com, который указывает на мой домашний IP-адрес. Внутри локальной сети я использую разрешение внешнего DNS, поэтому, если я выполняю nslookup внутри, я получаю свой внешний IP-адрес, а не IP-адрес локальной сети.
Вот что происходит:
- Когда я дома (на устройстве с внутренним IP, скажем, 10.0.0.20)
- И я использую Chrome для Windows (работает с Chrome 35 atm)
- И я пытаюсь получить доступ к ресурсу, используя свое внешнее доменное имя через HTTP (например, http://www.homedomain.com)
... затем Chrome немедленно преобразует протокол в https (в адресной строке) и жалуется на ошибку SSL. Я не могу достичь цели.
Он работает, как и ожидалось, если я использую ту же сборку Chrome на внешней машине (например, тот же профиль пользователя на моем компьютере в офисе). Он также работает локально с использованием Internet Explorer и Firefox. Это только проблема с внутренним запуском Chrome. Я могу воспроизвести это на 2 разных машинах, одна из которых работает под управлением Windows 8.1, а другая - под управлением Windows 7, и может воспроизводить ее как по Wi-Fi, так и по проводной сети.
Мой домашний сервер работает под управлением Windows Server Essentials 2012, и у меня есть внутренний домен, но я не думаю, что сервер участвует в моей проблеме.
Я настроил свой маршрутизатор для перенаправления порта 1880 на устройство Raspberry Pi, где у меня прослушивается http-сервер. Вне Chrome я могу нажать http://www.homedomain.com:1880, и он разрешится идеально. Когда я пробую его в Chrome, он мгновенно преобразуется в https и завершается неудачно (потому что RPi не принимает соединения SSL). Когда я использую LAN IP в Chrome, это также работает.
На роутере установлена прошивка Tomato.
Что тут происходит?
- Это не может быть явной настройкой / ошибкой Chrome, потому что тот же профиль / версия Chrome работает, когда я нахожусь за пределами локальной сети.
- Это не может быть локальная настройка ПК, потому что IE и Firefox работают нормально.
- Это не может быть мой Windows Server, потому что сам маршрутизатор обрабатывает переадресацию портов.
- Это не может быть маршрутизатор, потому что IE и Firefox работают нормально.
У меня нет идей - одно из моих предположений неверно. Есть ли в Chrome более красивый сетевой код, вызывающий неожиданное поведение в моей ситуации? Могу ли я иметь какую-то проблему с обратной связью, которую IE/FF изящно обрабатывает?
У меня закончились идеи. Если у кого-нибудь есть предложение, где провести расследование, я буду признателен.
Обновление: еще одна часть данных - Chrome (использующий тот же профиль пользователя) ведет себя корректно при запуске внутри виртуальной машины Hyper-V, размещенной на уязвимом компьютере.
Обновление 2: это поведение исчезает, когда я создаю новый профиль пользователя Chrome. Однако, как только я регистрирую этот профиль в своей учетной записи Google, проблема возвращается. Похоже, что-то в профиле пользователя Chrome связано с моей учетной записью Google.