Самоподписанные SSL-сертификаты, не работающие с MAMP и Chrome

SSL-сертификаты, созданные MAMP, не работают в Chrome. Я получаю "Небезопасную" проблему.

Есть ли обходной путь для этого?

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

Ответ 1

ПРИМЕЧАНИЕ. С тех пор, как я это опубликовал, Google приобрел домен верхнего уровня .dev, поэтому не рекомендуется использовать имена хостов .dev для вашей локальной разработки. Я использую *.local сейчас. Читая этот ответ, замените .dev на .local при воссоздании шагов в вашем собственном проекте.

Теперь для Chrome требуются сертификаты SSL, чтобы использовать "альтернативное имя субъекта" (SAN), а не старое общее имя. Это нарушает самоподписанные сертификаты, ранее созданные MAMP.

К счастью, обходной путь довольно прост.

Вот все шаги с самого первого момента установки хоста как SSL в MAMP Pro. Если вы ранее создавали SSL-сертификаты в MAMP, то я обнаружил, что удаление их и повторный запуск с использованием этого метода работает.

  1. Создайте ваше имя хоста, например. test.dev и выберите корень документа

  2. Перейдите на вкладку SSL и установите флажок "SSL". Убедитесь, что другой флажок "Разрешить только подключения по протоколам TLS" не установлен.

Screenshot showing SSL panel in MAMP Pro

  1. Нажмите кнопку "Создать самозаверяющий сертификат" и заполните всплывающую форму с соответствующей информацией. Нажмите "Создать" и сохраните сертификат, где хотите. Я просто спасаю свой в Documents > certificates

Screenshot of SSL certificate creation popup form in MAMP Pro

  1. Сохраните изменения в MAMP и перезапустите серверы.
  2. Нажмите кнопку с круглой стрелкой рядом с "Файл сертификата" на панели MAMP SSL (Показать в Finder). Дважды щелкните файл .crt, который выделен - он должен быть назван как ваш хост, например. если ваш хост - test.dev, тогда ваш файл сертификата будет test.dev.crt. Это должно открыть Keychain Access, и вы увидите там новый сертификат.
  3. Щелкните правой кнопкой мыши /Control, щелкните по сертификату и выберите "Получить информацию". Нажмите на раскрывающийся треangularьник рядом с надписью "Доверие"

.Screenshot of Mac Keychain Access for certificate

  1. Из селектора "При использовании этого сертификата" выберите "Всегда доверять" - каждый селектор должен измениться, чтобы показать "Всегда доверять". Закройте это окно. Он попросит ввести системный пароль вашей Mac OS, чтобы внести это изменение. Вы должны увидеть, что значок сертификата показывает маленький синий значок со знаком плюс, помечая его как доверенный.

enter image description here

  1. Перезапустите Chrome.
  2. Посетите новое имя хоста и наслаждайтесь зеленым https в браузере. бар.

Screenshot of https working in Chrome

Ответ 2

Я следил за ответами. Что мне помогло, так это установить номер порта 443 на вкладке "Общие".

Ответ 3

Если вышеприведенное решение не помогает, перейдите в chrome://flags найдите "Разрешить недопустимые сертификаты для ресурсов, загруженных из localhost" и включите его, перезапустите Chrome, и вам должно быть хорошо идти.

Ответ 4

Если у вас все еще есть проблемы, попробуйте использовать порт 8890. Порт sampl MAMP по умолчанию - 8890 поэтому посетите https://test.dev:8890. Работал на меня.

Ответ 5

Для меня не было необходимости использовать порты MAMP, но вместо этого они сохранялись по умолчанию в Apache. Мне также не нужно было указывать порт 443. Что помогло после создания самозаверяющего сертификата, так это установить значок сертификата, отображаемый в Chrome, в цепочку для ключей Mac, перетащив изображение на рабочий стол и дважды щелкнув его. После того, как он установлен в Mac Keychain, вы можете настроить его на доверие к сертификату.

Обратитесь к этому иллюстрированному ответу: https://www.accuweaver.com/2014/09/19/make-chrome-accept-a-self-signed-certificate-on-osx/

  • MAMP Pro 4.5
  • Chrome 71