Google Chrome перенаправляет localhost на https

Когда я отлаживаю проект Visual Studio с помощью Chrome, браузер пытается перенаправить на эквивалент https моего веб-адреса. Я не поддерживаю SSL в веб-проекте, а стартовый URL - это URL-адрес http. Когда я отлаживаю использование FireFox или IE, у меня нет этой проблемы.

Я переустановил Chrome, который исправил проблему в течение дня. Без загрузки каких-либо дополнений проблема повторилась на следующий день.

Что делает переадресацию Chrome на localhost на https?

Сетевые осмотры показывают: URL запроса: данные: текст /html, chromewebdata Запросить заголовки Отображаются предварительные заголовки User-Agent: Mozilla/5.0 (Windows NT 6.3, WOW64) AppleWebKit/537.36 (KHTML, например, Gecko) Chrome/36.0.1985.143 Safari/537.36

В этих вкладках нет предварительных данных и данных ответа.

Ответ 1

Я считаю, что это вызвано HSTS - см. http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

Если у вас (разработаны) любые другие локальные сайты, которые отправляют заголовок HSTS...

например. Строгая транспортная безопасность: max-age = 31536000; IncludeSubdomains; преднагрузки

... тогда, в зависимости от значения max-age, будущие запросы на localhost должны будут обслуживаться через HTTPS.

Чтобы обойти это, я сделал следующее.

  • В адресной строке Chrome введите "chrome://net-internals/# hsts"
  • В самой нижней части страницы находится текстовое поле домена QUERY - убедитесь, что локальный хост известен браузеру. Если он говорит "Не найден", это не тот ответ, который вы ищете.
  • Если это так, DELETE домен localhost с помощью текстового окна выше
  • Теперь ваш сайт должен работать с использованием обычного старого HTTP

Это не постоянное решение, но, по крайней мере, оно будет работать между проектами. Если кто-то знает, как навсегда исключить localhost из списка HSTS, пожалуйста, дайте мне знать:)

ОБНОВЛЕНИЕ - ноябрь 2017

Недавно Chrome переместил этот параметр в положение Удалить политики безопасности домена

введите описание изображения здесь

ОБНОВЛЕНИЕ - декабрь 2017 года Если вы используете домен .dev, см. Другие ответы ниже, поскольку Chrome (и другие) заставляют HTTPS использовать предварительно загруженные HSTS.

Ответ 2

У меня возникла такая же проблема в Chrome, и я безуспешно пытался использовать решение BigJump.

Я исправил свою проблему, заставив жесткое обновление, как показано в этом блоге (первоначально из этого Ответ SuperUser).

Убедитесь, что ваша адресная строка использует схему http, а затем выполните эти шаги, возможно, пару раз:

  • Откройте панель инструментов разработчика (CTRL + SHIFT + I)
  • Нажмите и удерживайте значок перезагрузки/Щелкните правой кнопкой мыши значок перезагрузки.
  • Откроется меню.
  • Выберите третий вариант из этого меню ( "Empty Cache and Hard Reload" )

Ответ 3

НОВЫЕ РАЗРАБОТКИ! (если у вас Chrome 63 +)

Если ваш домен localhost .dev, то я не думаю, что ранее принятые и рабочие ответы больше не применяются. Это связано с тем, что Chrome Chrome Chrome будет принудительно деинсталлировать домены HTTPS через предварительно загруженные HSTS.

Что это значит, .dev в принципе больше не будет работать, если у вас нет надлежащего подписанного SSL-сертификата - больше не разрешено самоподписанные сертификаты! Подробнее об этом сообщении в блоге.

Итак, чтобы устранить эту проблему сейчас и избежать этого в будущем, .test - это один рекомендуемый домен, поскольку он зарезервирован IETF для тестирования /dev. Вы также должны использовать .localhost для локального разработчика.

Ответ 4

Я столкнулся с той же проблемой, но только в Chrome Canary и искал найденное решение этот пост.

одна из следующих версий Chrome заставит все домены, заканчивающиеся на .dev(и .foo), перенаправляться на HTTP через предварительно загруженный заголовок HTTP Strict Transport Security (HSTS).

{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },

Итак, измените свои домены.

Ответ 5

Съемка Адият Мубарак

Не удалось обновить, поскольку он просто обновлялся на https. Выполняется несколько шагов.

1. Open chrome developer tools (ctrl + shift + i)
2. Network Tab at the top
3. Click Disable cache checkbox at the top (right under network tab for me).
4. Refresh page (while the developer tools is still open)

Ответ 7

от https://galaxyinternet.us/google-chrome-redirects-localhost-to-https-fix/

Ни одна из исправлений опции не работала для меня, для исправления https://localhost:3000.

нажмите и удерживайте кнопку " Reload и выберите " Empty Cache and Hard Reload, это, по-видимому, будет только вариантом на localhost

Ответ 8

Я никогда не выяснял корень проблемы, однако я смог исправить эту проблему. Я удалил папку кэша приложений Google Chrome, которая решила проблему.

C:\Users [Пользователи]\AppData\Local\Google\Chrome

Ответ 9

Я также боролся с этой проблемой. Кажется, что HSTS предназначен только для доменных имен. Поэтому, если вы разрабатываете локальную машину, гораздо проще использовать IP-адрес. Поэтому я переключился с localhost на 127.0.0.1

Ответ 10

Это может быть вызвано перенаправлением кэшированных https и может быть исправлено путем очистки кеша вручную, как в ответе Адията Мубарака.

Но если вы посещаете локальный хост, вы, вероятно, разработчик, и в этом случае вы найдете расширение для очистки кеша, такое как "классический кеш-убийца" (см. например, https://chrome.google.com/webstore/search/classic%20cache %20killer? Hl = ru) полезен в самых разных ситуациях и, вероятно, уже установлен.

Поэтому быстро исправить: установить убийцу кеша (если у вас его еще нет), включить его и перезагрузить страницу. Готово!

Ответ 11

Никто из них не работал у меня. Это началось после обновления chrome (версия 63.0.3239.84, linux) с локальным URL-адресом. Всегда будет перенаправлять на https независимо от того, что. Потеряли несколько часов и много терпения на этом

Что все-таки сработало, это просто изменение домена.

Для того, что стоит, домен был .app. Возможно, ему что-то нужно делать? И просто изменил его на .test и chrome остановил перенаправление его

Ответ 12

Ленивое и быстрое решение для ленивых людей вроде меня (работает в Chrome 67).

Просто запустите другое окно Chrome в режиме невидимости, с опцией "Incognito Window" (CTRL + SHIFT + N). Не нужно удалять кеш, нет необходимости погружаться в глубокие настройки Chrome и т.д.

Ответ 13

Chrome 63 заставляет .dev домены автоматически до HTTPS через предварительно загруженный HSTS.
Быстрое исправление: просто измените домены .dev на .localhost.

Ответ 14

В моем случае у меня был мой путь к проекту как /Users/me/dev/project_root/ и там был запущен nodeJS/express. Переименование моего пути в /Users/me/project_root (удаление dev из пути к проекту) решило проблему.

Скорее всего, это связано с этим новым постановлением:

Chrome 63 (с декабря 2017 года) заставит все домены, заканчивающиеся на.dev (и.foo), перенаправляться на HTTPS через предварительно загруженный заголовок HTTP Strict Transport Security (HSTS).

Вы можете найти дополнительную информацию об этом здесь.

С помощью:

  • Версия Google Chrome 70.0.3538.110 (официальная сборка) (64-разрядная версия)
  • nodeJS v9.2.0

Ответ 15

Перейдите к настройкам в настройках Chrome и затем в Advanced, в разделе "Конфиденциальность и безопасность" нажмите "Очистить данные просмотра", а затем очистите все данные. Я последовал этим шагам, и это сработало для меня. Надеюсь, это поможет кому-то.

Ответ 16

Это не решение, это просто обходной путь.

  • Нажмите на проект визуальной студии (верхний уровень) в проводнике решений и перейдите в окно свойств.

  • Сменить SSL Включено на значение true. Теперь вы увидите другой номер порта в качестве "URL-адреса SSL" в окне свойств.

  • Теперь, когда вы запускаете приложение (или просматриваете его в браузере), вам необходимо вручную изменить номер порта на номер порта SSL в адресной строке.

Теперь он отлично работает как ссылка SSL

Ответ 17

К сожалению, ни одно из перечисленных здесь решений не помогло мне решить эту проблему. Я исправил эту проблему, используя http://127.0.0.1 (IP-адрес) вместо http://localhost. Быстрый небольшой взлом для работы с angular разработкой с браузером Chrome.

Ответ 18

Простое решение этого - отредактировать файл /etc/hosts и установить один псевдоним для проекта.

127.0.0.1   project1 project2 project3

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

Ответ 19

Для тех, у кого была такая же проблема, я решил, нажав CTRL + SHIFT + DELETE, чтобы удалить только весь кеш браузера. Теперь я могу получить доступ к моему сайту localhost по протоколу HTTP.

Ответ 20

@Ответ Adiyat Mubarak не помог мне. Когда я попытался очистить кеш и перезагрузить, страница все еще перенаправляется на https.

Мое решение: в верхнем правом углу строки url (слева от иконки избранной звезды) есть значок с "x" через него. Щелкните правой кнопкой мыши на этом, и он скажет что-нибудь о "небезопасных сценариях", тогда есть возможность загрузить их в любом случае. Сделайте это.

Ответ 21

Другой вариант - использовать что-то вроде https://github.com/rchampourlier/tunnelss

Конечно, он добавил другую зависимость/настройку, но также позволяет тестировать https в dev, что может быть приятным.

Я использую RVM, однако для работы туннелей мне пришлось использовать sudo gem install tunnelss и sudo tunnelss

Ответ 22

Это самое быстрое решение сегодня (17-3-2018):

Закройте все вкладки/окна Chrome и запустите в командной строке: (или добавьте его как короткий код)

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors