2014-09-09 4 views
9

Я пытаюсь установить промежуточный сертификат на Nginx (laravel forge). В настоящий момент сертификат правильно установлен, просто отсутствует промежуточное звено.Nginx установить промежуточный сертификат

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

Кроме того, если установка промежуточного отказа не удалась, могу ли я просто вернуться к предыдущему сертификату и перезагрузить nginx? (сайт сайта в прямом эфире, поэтому я не могу слишком долгое время простоя)

ответ

23

Nginx ожидает все сертификаты раздела server в файле, который вы ссылаетесь на ssl_certificate. Просто поместите все промежуточные сертификаты поставщика и сертификат своего домена в файл. Это будет выглядеть так.

-----BEGIN CERTIFICATE----- 
MII... 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MII... 
-----END CERTIFICATE----- 
-----BEGIN CERTIFICATE----- 
MII... 
-----END CERTIFICATE----- 

Чтобы убедиться, что все в порядке, и, чтобы избежать простоев, я хотел бы предложить вам для настройки Nginx локально, добавьте 127.0.0.1 yourdomain.com к /etc/hosts, и попытаться открыть его из основных браузеров. Когда вы подтвердите, что все правильно, вы можете реплицировать его на производственный сервер.

Когда все будет готово, рекомендуется использовать некоторые средства проверки SSL для проверки (например, this one). Поскольку предварительно установленные сертификаты ЦС могут различаться в зависимости от браузера и платформы, вы можете легко просмотреть проверку неправильной конфигурации из одной ОС или ограниченного набора браузеров.

Редактировать

Как @Martin отметил, порядок сертификатов в файле имеет важное значение. RFC 4346 для TLS 1.1 состояний:

Это последовательность (цепочку) сертификатов X.509v3. Сертификат отправителя должен быть первым в списке. Каждый последующий сертификат должен непосредственно сертифицировать тот, который предшествует ему.

Таким образом, заказ:

  • 1. Сертификат вашего домена
  • 2. Промежуточный сертификат Продавца, который удостоверяет (1) промежуточный сертификат
  • 3. Продавца, который удостоверяет (2)
  • ...
  • n. Корневой сертификат поставщика, который удостоверяет (n-1). Необязательно, поскольку он должен содержаться в хранилище CA клиента.
+3

Обратите внимание, что заказ важен, см. Https://serverfault.com/questions/476576/how-to-combine-various-certificates-into-single-pem/476620#476620 – Martin

Смежные вопросы