Chrome: веб-сайт використовує HSTS. Помилки мережі ... Ця сторінка, ймовірно, запрацює пізніше


161

Я розвиваюся проти localhost. Сьогодні вранці, після використання Fiddler, я почав отримувати цю помилку на chrome (працює правильно у firefox)

"Зараз ви не можете відвідати localhost, оскільки веб-сайт використовує HSTS. Помилки мережі та атаки, як правило, є тимчасовими, тому ця сторінка, ймовірно, запрацює пізніше." введіть тут опис зображення

Зараз localhost працює в хромі, лише якщо Fiddler працює. Я вже переконався, що перенаправлення проксі, які робить Fiddler, виправлені, коли fiddler вимикається.

Я також спробував імпортувати сертифікат до мого надійного кореня та перезапустити браузер (а також машину).


2
З цією проблемою я стикаюся, коли адміністратор ІТ змінює свою політику. Все, що мені потрібно зробити - це запустити команду: gpupdate / force
Jacob Phan

Відповіді:


191

Один дуже швидкий шлях цього полягає в тому, що ви переглядаєте екран "Ваше з'єднання не є приватним":

тип badidea

тип thisisunsafe(зарахуйте Java-хлопця для пошуку нової парольної фрази)

Це дозволить виключити безпеку, коли Chrome інакше не дозволяє встановити виняток за допомогою кліку, наприклад, для цього випадку HSTS.

Це, очевидно, рекомендується лише для локальних з'єднань та віртуальних машин локальної мережі, але це має перевагу працювати для VM, які використовуються для розробки (наприклад, для локальних з'єднань, що передаються через порт), а не лише прямих локальних хостів.

Примітка. Розробники Chrome раніше змінювали цю парольну фразу і можуть зробити це ще раз. Якщо badideaробота перестає працювати, залиште записку тут, якщо ви дізнаєтесь нову парольну фразу. Я спробую зробити те саме.

Редагувати: станом на 30 січня 2018 року ця парольна фраза більше не працює.

Якщо я зможу знайти новий, я опублікую його тут. Тим часом я збираюся витратити час, щоб створити сертифікат, який підписав самостійно, використовуючи метод, описаний у цій публікації про stackoverflow:

Як створити самопідписаний сертифікат за допомогою openssl?

Редагувати: з 1 березня 2018 року та версії Chrome 64.0.3282.186 ця парольна фраза знову працює для блоків, пов’язаних із HSTS, на сайтах .dev.

Редагувати: станом на 9 березня 2018 року та версії Chrome 65.0.3325.146 badideaпарольна фраза більше не працює.

Редагування 2: проблеми з самопідписаними сертифікатами, здається, полягають у тому, що, під час посилення стандартів безпеки на всій дошці, вони призводять до викидання власних помилок (наприклад, nginx відмовляється завантажувати сертифікат SSL / TLS, що включає самопідписаний cert у ланцюжку повноважень (за замовчуванням).

Зараз я збираюсь замінити домен верхнього рівня на всі мої сайти розробки .app та .dev на .test або .localhost. Chrome і Safari більше не прийматимуть небезпечних підключень до стандартних доменів верхнього рівня (включаючи .app).

Поточний список стандартних доменів верхнього рівня можна знайти в цій статті Вікіпедії, включаючи домени спеціального використання:

Вікіпедія: Список Інтернет-доменів верхнього рівня: Домени спеціального використання

Ці домени верхнього рівня, як видається, виключені з нових обмежень https:

  • .локальний
  • .localhost
  • .тест
  • (будь-який нестандартний домен верхнього рівня)

Для отримання додаткової інформації див. Відповідь та посилання від кодування до оригінального запитання:

відповідь від кодування


19
ніколи не чув про щось подібне, але чомусь це працює! Дякую!
Олексій

масова допомога! Дуже дякую!
RHSmith159

Я навіть не можу повірити, що це працює, але це так. Я не впевнений, чи повинен я бути задоволений чи розлючений, що це не документально; Я витрачав HOURS протягом багатьох років, займаючись цією лайнею в середовищі Dev.
Скотт Баєрс

7
Використовуйте thisisunsafeнепрочитані badidea. Це було змінено новою версією
Java Guy

працює +1, однак хром дійсно повинен додати можливість продовжувати діяти з попередженнями, а не просто блокувати
5413668060

186

Коли ви відвідували https: // localhost раніше в якийсь момент, він не тільки відвідував це через захищений канал (https, а не http), він також повідомив ваш браузер, використовуючи спеціальний заголовок HTTP: Strict-Transport-Security (часто скорочено до HSTS ), що він повинен використовувати ТОЛЬКІ https для всіх майбутніх відвідувань.

Це функція безпеки, яку веб-сервери можуть використовувати для запобігання переходу людей на http (навмисно чи злісною стороною).

Однак якщо потім вимкнути свій https-сервер і просто хочете переглядати http, ви не можете (дизайн - це сенс цієї функції безпеки).

HSTS також заважає приймати та пропускати помилки минулого сертифіката.

Щоб скинути це, щоб HSTS більше не встановлений для localhost, введіть наступне в адресному рядку Chrome:

chrome://net-internals/#hsts

Де ви зможете видалити цей параметр для "localhost".

Ви також можете дізнатися, що це було для того, щоб уникнути цієї проблеми в майбутньому!

Зауважте, що для інших сайтів (наприклад, www.google.com) вони "попередньо завантажуються" у код Chrome, тому їх неможливо видалити. Коли ви запитаєте їх у chrome: // net-Internals / # hsts, ви побачите їх у списку staticHSTS.

І нарешті зауважте, що Google розпочав передзавантаження HSTS для всього домену .dev: https://ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts/


Я отримую це для gmail.com. Я перейшов до chrome: // net-Internals / # hsts і запитав gmail.com, знайшов: static_sts_domain: gmail.com static_upgrade_mode: STRICT Спробував видалити домен, але у мене все ще виникають проблеми.
paiego

Ця відповідь для мене має сенс. Моє питання, однак, полягає в тому, що я змінив сервер імен веб-сайтів з wordpress (розміщений wordpress) на свій сервер (власний хостинг), і тепер отримую це, і, мабуть, так будуть усі відвідувачі Chrome. Будь-яка ідея, як обійти її для відвідувачів, не видаляючи їх кеш?
TomC

2
По суті, лише відповідь - використовувати HTTPS, який рухається вперед, або сподіваюся, що користувачі не кешують його. HTTPS - це шлях вперед та вільний від LetsEncrypt. Ви також повинні перевірити, чи хтось попередньо завантажив ваш сайт у код браузера, але не здогадуйтесь, чи зможете ви його скинути самостійно. Не знаючи, що Wordpress автоматично додає HSTS, тому дивуйтеся, як це дісталося.
Баррі Поллард

Дякуємо @BazzaDP - не вдається зрозуміти це. Можливо, мені доведеться змінити сервери імен, щоб дізнатися, що на старому сайті змушує HTTPS, а потім спробуйте перенести знову. Ви не можете просто FTP з блогів, що розміщуються в Wordpress, на новий сайт, тому це для мене проблема, і новий власник сайту не має сертифіката SSL (хоча серйозно розглядає можливість отримати його все одно)
TomC

2
Як я вже згадував у своїй відповіді, попередньо завантажені (або статичні STS) записи не можна видалити, оскільки вони існують у коді Chrome і не містяться в локальному списку. І відповідно до мого останнього рядка у моїй відповіді, Google вирішив передзавантажити весь домен розробника.
Баррі Поллард

24

Клацніть в будь-якому місці хромового вікна та введіть thisisunsafe(замість badideaпопереднього) хром.

Ця парольна фраза може змінитися в майбутньому. Це джерело

https://chromium.googlesource.com/chromium/src/+/master/components/security_interstitials/core/browser/resources/interstitial_large.js#19

Відповідно до цього рядка, введіть window.atob('dGhpc2lzdW5zYWZl')консоль браузера, і вона дасть вам фактичну парольну фразу.

Цього разу парольна фраза є thisisunsafe.


19

У мене виникла ця проблема з веб-сайтами, які працюють на XAMPP з приватними іменами хостів. Не так приватно, виявляється! Всі вони були зареєстровані вdomain.dev Google як приватний gTLD і змушують HSTS на рівні домену. Змінив кожен віртуальний хост на .devel(eugh), перезапустив Apache і все зараз добре.


Я можу підтвердити цю проблему з Opera 50.0.2762.9 і що перемикання мого домену розробки від .devдо .develробіт навколо обмеження.
Кортні Майлз

5
RFC 2606 резервує деякі домени верхнього рівня спеціально для запобігання конфліктів із приватним тестуванням. Здається, що .testце, мабуть, найправильніше перейти до середовищ розробки.
Кортні Майлз

Це буквально врятувало моє життя після днів, коли я не міг зрозуміти, чому хром діяв так у моєму .devдомені localhost ... Бог, хто б це знав ...
Д. Петров

Ну, насправді .test рекомендується використовувати лише для тестування поточного чи нового коду, пов’язаного з DNS.
Олексій

Це тут вирішило мою проблему. Я використовую Laragon для свого розвитку.
Крейг

12

Нещодавно у мене була така ж проблема при спробі до доменів доступу з використанням CloudFlare Origin CA .

Єдиний спосіб вирішити / уникнути виключення HSTS cert у Chrome (збірка Windows) - це дотримання коротких інструкцій у https://support.opendns.com/entries/66657664 .

Вирішення проблеми:
Додайте прапор до Chrome --ignore-certificate-errors, а потім відкрийте його та перейдіть на веб-сайт.

Нагадування:
Використовуйте його лише для цілей розвитку.

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


Можливо, спробуйте в Google Canary build google.com/chrome/browser/canary.html
Binyamin

Припустимо, у вас немає сайту, який викликає помилку cert. Потім, як би ви перевірили, чи працює ваше рішення? Чи не допоможе тут - stackoverflow.com/questions/41902367 / ...
MasterJoe2

Як щодо версій Mac?
Гай Ява


3

Зустріли подібну помилку. скидання chrome: // net-Internals / # hsts не працювало для мене. Проблема полягала в тому, що годинник мого vm був перекошений днями. перезавантаження часу вирішило цю проблему. https://support.google.com/chrome/answer/4454607?hl=uk


2

Я зіткнувся з такою ж помилкою, і в режимі анонімного перегляду також є така ж проблема. Я вирішую цю проблему, очистивши історію Chrome.


2

Я страждаю цим питанням дуже давно. Мені не вдалося відкрити веб-сайти на зразок GitHub. Я майже спробував усі відповіді в Інтернеті, і ніхто не працював. Спробував також перевстановити хром. Я знайшов рішення для цього у нашого хлопця з мережі, і воно спрацювало. У реєстрі є виправлення, яке дозволить усунути цю помилку назавжди.

  1. Натисніть клавішу Windows + R, щоб відкрити діалогове вікно запуску
  2. введіть: regedit та натисніть Enter, щоб відкрити реєстр
  3. У вікні дерева лівою кнопкою миші перейдіть за наступним контуром HKEY_LOCAL_MACHINE> ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ> ПОЛІТИКИ> Microsoft> SystemCertificate> Authroot
  4. Тепер двічі клацніть на DisableRootAutoUpdate праворуч і встановіть його на 0 (нуль) у діалоговому вікні, що з’являється
  5. Перезавантажте комп'ютер, щоб застосувати зміни реєстру, і ви більше не отримаєте цю помилку

Вище вказане рішення для Windows 8. Він майже ідентичний у пізніших версіях, але я не впевнений у більш ранніх версіях, як XP та Vista. Тож це потрібно перевірити.


Чи знаєте ви, що означає цей варіант?
MasterJoe2

@ testerjoe2: Ні сер
Маулік Моді

1
Страждав від цього google-analytics.com разом із різними іншими доменами google. Ця відповідь вирішила мою проблему.
Шон

У статті на support.microsoft.com/en-us/help/2813430/… пояснюється поведінка клавіш, які були введені в патчі для Windows Vista. Якщо встановити це значення у 0, то оновлені кореневі сертифікати будуть автоматично отримані з оновлення Windows та встановлені в магазині довірених кореневих сертифікаційних властей. В умовах підприємства це може бути вимкнено як захід безпеки; однак це означає, що хтось повинен керувати довіреними органами сертифікації кореневих програм на рівні підприємства.
JamieSee
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.