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

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

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

Что делает Chrome перенаправлять localhost на протоколу HTTPS?

Сеть Проверяет Шоу: URL запроса: данные: text / 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

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

19 ответов


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

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

например. Strict-Transport-Security: max-age=31536000; includeSubDomains; предварительная загрузка

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

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

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

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

обновление - ноябрь 2017

Chrome недавно переместил этот параметр, чтобы сидеть под политика безопасности домена удалить

enter image description here

обновление - декабрь 2017 Если вы используете .dev domain смотрите другие ответы ниже поскольку Chrome (и другие) заставляют HTTPS через предварительно загруженные HSTS.


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

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

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

  1. Откройте Панель инструментов разработчика (CTRL+SHIFT+I)
  2. нажмите и удерживайте значок перезагрузки / щелкните правой кнопкой мыши значок перезагрузки.
  3. откроется меню.
  4. выберите 3-й вариант из этого меню ("пустой кэш и жесткая перезагрузка")

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

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

что это означает, .dev в основном не будет работать вообще больше, если у вас нет надлежащего подписанного сертификата SSL - нет больше самозаверяющих сертификатов разрешено! Узнайте больше в этом блоге должность.

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


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

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

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

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


Piggybacking off Adiyat Мубарак

не удалось жестко обновить, так как это было просто обновление на 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)

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


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

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

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


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


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

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


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

Что ты ведь был просто меняют домен.

для чего стоит, домен был .приложение. Может быть, это как-то связано? И просто изменил его на .тест и chrome перестали перенаправлять его


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

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

Итак, быстрое исправление: установите Cache killer (если у вас его еще нет), включите его и перезагрузите страницу. Готово!


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


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

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


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


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

  1. щелкните проект visual studio (верхний уровень) в обозревателе решений и перейдите в окно Свойства.

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

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

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


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

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

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

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

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

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


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


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

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