Найти тему
Wissance

SSL: поднимаем в Linux, NGINX

Это цепочка сертификатов, если вынуть (забыть добавить) одно из звеньев, то сертификат не будет работать
Это цепочка сертификатов, если вынуть (забыть добавить) одно из звеньев, то сертификат не будет работать

Данная статья является коротким руководством, я пишу это руководство потому, что каждый раз при установке сертификата для приложения мы (Wissance, wissance.com) сталкиваюсь с ситуацией когда мы просто обычно не помним, что с чем нужно объединить, чтобы SSL шифрование работало.

В большинстве случаев, мы используем не дорогие сертификаты за 5-10 долларов (Comodo, и аналогичные ему). Процесс получения сертификата обычно выполняется по следующему алгоритму:

1. Генерируются запрос на выпуск сертификата (Certificate Signing Request) и приватный ключ. Для этого можно использовать либо утилиту openssl, либо воспользоваться онлайн генератором, например, https://csrgenerator.com/ .

2. Полученный в п.1 .csr и ключ необходимо отправить в центр сертификации для подписи: данный шаг выполняется обычно через веб-форму консоли управления сертификатами.

3. В результате мы получим основной сертификат (primary) в виде файла с расширением .crt и соответствующую цепочку сертификатов в виде .bundle-ca файла, содержащую корневой (root) и промежуточный (intermediate) сертификаты.

4. Сам по себе primary сертификат работать не будет, поэтому его необходимо объединить с цепочкой с помощью утилиты cat:

```

cat wissance_com.crt wissance_com.ca-bundle >> wissance_com_merged.crt

```

5. Полученный в п.4 объединенный сертификат уже можно использовать совместно с полученным в п.1 приватным ключом. В случае использования NGINX в качестве Web-сервера в конфигурации веб сайта необходимо указать пути к данным файлам:

```

server {
listen 443;
ssl on;
server_name wissance.com;
ssl_certificate /etc/nginx/ssl/wissance.com/2020–2021/wissance_com_merged.crt;
ssl_certificate_key /etc/nginx/ssl/wissance.com/2020–2021/wissance_com.key;

```