Вопрос или проблема
Я только что скачал портативный Chrome 132 и “флаги”, которые были доступны, теперь отсутствуют.
- Я знаю, что сертификат для localhost “самоподписанный”.
- Нет, меня это не волнует, я не взламываю и не шпионю за собой.
- Тестирование локально перед развертыванием на живом сервере никогда не устареет.
- Нет, предыдущие обсуждения больше недействительны, так как упомянутые флаги, очевидно, отсутствуют.
Как сделать, чтобы Chrome 132 перестал надоедать сообщениями о том, что localhost не “безопасен”?
Ответ или решение
Теория
Обеспечение безопасности является важной функцией современных браузеров, и Google Chrome не является исключением. Начиная с версии 132, были ужесточены меры безопасности в отношении самоподписанных сертификатов, используемых для localhost-ресурсов. Эти изменения направлены на защиту пользователей от потенциально небезопасного контента, но при тестировании локально, особенно на этапе разработки, часто возникает необходимость исключений.
Самоподписанный сертификат, с точки зрения безопасности, не подтверждает подлинность и может быть уязвим для атак типа "человек в середине" (Man-in-the-middle). Несмотря на это, для целей локальной разработки вам нужно обойти эти предупреждения, чтобы продуктивно работать, избегая постоянных изменений настроек в браузере.
Пример
Например, при разработке веб-приложения вы работаете с сервером, работающим на localhost. Каждый раз, когда вы обновляете страницу с HTTPS-соединением, Chrome настаивает на том, что сайт небезопасен из-за самоподписанного сертификата. В ранних версиях Chrome до 132, это могло быть отключено с помощью флагов в меню chrome://flags, однако, в версии 132 эти флаги уже недоступны.
Применение
Чтобы решить эту проблему в Chrome 132, необходимо следовать нескольким шагам:
-
Добавление локального сертификата в доверенные корневые сертификаты вашей ОС:
- Windows: Откройте "Управление сертификатами" через команду
certmgr.msc
, перейдите в раздел "Доверенные корневые центры сертификации", и импортируйте ваш самоподписанный сертификат. - macOS: Откройте "Keychain Access" (Доступ к связке ключей), импортируйте сертификат в "System" или "Login" и установите его как "Всегда доверять".
- Linux: Используйте
update-ca-certificates
для добавления сертификата в системные доверенные сертификаты.
- Windows: Откройте "Управление сертификатами" через команду
-
Измените настройки Chrome:
- Запустите Chrome с флагом командной строки
--ignore-certificate-errors
. Это может быть полезно для разработчиков, хотя использование следует ограничить только локальными машинами из-за риска безопасности.
- Запустите Chrome с флагом командной строки
-
Использование сервера разработки с поддержкой HTTPS:
- На этапе разработки можно использовать такие инструменты как mkcert, которые помогают создавать самоподписанные сертификаты для локальной разработки, которые автоматически добавляются в доверенные сертификаты.
-
Настройка DNS или использование hosts файла:
- Помимо localhost, добавьте соответствия IP-адресу 127.0.0.1 в файле hosts, как, например,
myproject.local
, что поможет имитировать SSL-сертификаты для локального домена.
- Помимо localhost, добавьте соответствия IP-адресу 127.0.0.1 в файле hosts, как, например,
Важно отметить, что в работу с сертификатами и обходом настроек безопасности необходимо подходить с осторожностью. Это подходы временного характера, которые не следует применять в продуктивной среде.
Дополнительно, можно рассмотреть использование браузеров, которые позволяют лучше контролировать настройки безопасности на этапе разработки, или внедрение в проект CI/CD процессов, где такие тесты будут выполняться в более контролируемой и безопасной среде.
Эти решения помогут избавиться от предупреждений в Chrome, обеспечивая при этом плавный процесс разработки и тестирования без существенного компромисса безопасности. Однако в продуктивных средах всегда используйте сертификаты, выданные доверенными центрами сертификации.