Реєстрація та встановлення SSL сертифікату

Комментарии ()

Генерация CSR для домена

Для отримання SSL-сертифікату домену, необхідно створити CSR запиту.

CSR - спеціальний цифровий ключ, який містить зашифровану інформацію про власника сертифіката, компанії і домені.

Для генерації секретного ключа (key) і запиту на сертифікат (CSR) використовується утиліта OpenSSL. Ця утиліта, як правило, входить в стандартну поставку веб-сервера Apache.

openssl req -newkey rsa:2048 -nodes -keyout www.mydomain.com.key -out www.mydomain.com.csr

Common Name - повне доменне ім'я для веб-сервера в форматі FQDN - Fully Qualifed Domain Name. Увага! Всі сертифікати, крім Wildcard Certificate, захищають тільки один хост - наприклад, або сам домен виду "mydomain.ru", або "www.mydomain.ru", або будь-який субдомен виду "secure.mydomain.ru". Будьте уважні, Вам необхідно вказати саме те ім'я домену, на яке виписується сертифікат.

openssl req -noout -text -in www.mydomain.com.csr - перевірка правильності сертифікату

В результаті цих дій буде створено і збережено в файлі www.mydomain.com.csr запит на сертифікат (CSR). Також буде згенеровано і збережений в файл www.mydomain.com.key секретний ключ 2048 RSA.

Отримання SSL-сертифікату

окрім платного варуанту, є ресурси на яких можна отримати безкоштовно SSL-сертифікат на 3 місяця

https://www.sslforfree.com/

Установка SSL-сертифіката на сервер

Для Apache'а

1. Скопіюйте файл www.mydomain.com.key з сертифікатом в директорію, в якій Ви плануєте зберігати Ваші ключі (за замовчуванням: /usr/local/apache/conf/ssl.key/ or / etc / httpd / conf / ssl. key /).

2. Скопіюйте сертифікат в файл www.mydomain.com.crt і помістіть файл в директорію, в якій Ви плануєте зберігати Ваші сертифікати (за замовчуванням: /usr/local/apache/conf/ssl.crt/ or / etc / httpd / conf /ssl.crt/).

3. Відкрийте конфігураційний файл Apache httpd.conf (або файл ssl.conf) в текстовому редакторі.

4. Знайдіть секцію VirtualHost, що описує домен, для якого встановлюється сертифікат. Перевірте наявність двох директив і додайте їх в разі їх відсутності, вказавши правильні шляхи до файлів сертифіката і ключа:

SSLCertificateFile /usr/local/apache/conf/ssl.crt/www.mydomain.com.crt

SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/www.mydomain.com.key


5. Збережіть зміни.

6. Перезавантажте веб-сервер однієї з команд:

/ Usr / local / apache / bin / apachectl startssl

або

/ Usr / local / apache / bin / apachectl restart

NGINX

в конфіг хоста добавляємо три рядка

listen 443 ssl;
ssl_certificate /opt/nginx/ssl/certificate.crt;
ssl_certificate_key /opt/nginx/ssl/private.key;

Приклад, коли нам потрібно прийняти ssl та прокинути на інший веб сервер

server {
    listen      XXX.XXX.XXX.XXX:443;
    ssl on;
    ssl_certificate /home/vps/conf/web/ssl/mary/certificate.chained.crt;
    ssl_certificate_key /home/vps/conf/web/ssl/mary/private.key;

    server_name mydomainl.org www.mydomain.org;
    location / {
	proxy_pass  http://192.168.1.103:80;
    }

}

sslshopper.com - сервіс перевірки коректності ssl-сертифікату сайту

При виникнені помилки

The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate.

читаємо про ланцюжки SSL-сертифікатів тут та усуваємо це


Webit.in.ua 2013