Получаем бесплатные SSL сертификаты для домена

Web-разработка

Автор: Александр Степанов

3 июн. 2013 г., 11:58:22  1339


StarSSL — это сервис выдачи авторизованных сертификатов, который предоставляет всем бесплатный сертификат на 1 год (который, через год можно будет продлить еще)! Далее, мы рассмотрим необходимые действия для получения сертификата! 

  • Первым делом необходимо зарегистрироваться в StartSSL и войти в панель управления аккаунтом. Вход осуществляется по цифровой подписи, которая генерируется при регистрации! Ссылка не генерацию ключа, придет по почте.
  • Далее, необходимо сгенерировать ключ и сертификат домена по ssh:
openssl genrsa -des3 -out server.key.secure 2048
openssl rsa -in server.key.secure -out server.key
openssl req -new -key server.key -out server.csr

В контрольной панели (control panel) необходимо нажать на "certificates wizard" для генерации нового сертификата и выбрать "web server ssl certificate". Нажмите "Skip the first step" и вставьте содержимое server.csr в поле и нажмите завершить. Таким образом мы используем собственные ключ и сертификат сервера.

Через несколько часов придет ссылка на сгенерированный сертификат. Сертификат генерируется от 1 часа до 3-5 часов. Далее в "tool box" выберите "retrieve certificate" и выберите домен. Далее, содержимое из поля нужно вставить в server.crt в этом файле получается 2 сертификата!

  • 1. сертификат полученный в StarSSL
  • 2. сертификат сгенерированный на сервере!

Далее, загрузите sub.class1.server.ca.pem из хранилища всех сертификатор http://www.startssl.com/certs/

Выполняем в консоли: cat sub.class1.server.ca.pem >> server.crt

Наш сертификат почти готов, необходимо их отделить в отдельную папку:

sudo cp server.crt /etc/ssl/example.com.crt
sudo cp server.key /etc/ssl/example.com.key

В настройках сайта в nginx указываем:

server {
.
.
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /etc/ssl/example.com.crt;
ssl_certificate_key /etc/ssl/example.com.key;
.
.
}

Далее тестируем: nginx -t если все ок, тогда делаем service nginx restart

Для автоматического перенаправления на https добавляем это:

location / {
    rewrite ^(.*)$ https://example.com$1 permanent;
  }

Почитать подброее: http://nginx.org/ru/docs/http/configuring_https_servers.html
http://minhajuddin.com/2011/03/11/how-to-hookup-nginx-with-startssl