АгАртИ-А
Разработка АгАртИ-А.рф
- ^ X
Установка бесплатного SSL-сертификата на сайт
[ \ ] [ .. ]
agarty@apache22.com [/list/Ustanovka_besplatnogo_SSL-sertifikata_na_sait/]> ls -la

Установка бесплатного SSL-сертификата на сайт

Создано: 2016-07-24 13:21:52, обновлено: 2016-07-24 14:47:59

Установка бесплатного SSL-сертификата на сайт

В Интернете докучи сайтов предлагающие бесплатные SSL-сертификаты. Рас пошла такая мода на https, то и я задумался перевести пару сайтов на безопасное соединение.

Нарыл в интернете китайскую компашку:  https://buy.wosign.com/free/ где собсна я и приобретаю бесплатно серты. Конечно Китай это дело сомнительное... Но зато халява =). А на крупные сайты я предпочитаю покупать в надежных источниках.

  1. Заходим по ссылке выше
  2. Вводим название вашего домена без www
  3. Вводим E-mail, и регистрируемся, попутно подтвердив аккаунт пришедшим кодовым словом на почту
  4. После регистрации мы видим список тех доменов, на которые нам нужны сертификаты
  5. Жмем на  "Domain Control Verification". Вам на выбор предоставляется несколько емайлов, на один из которых необходимо выслать код-подтверждение. Заблаговременно создайте данный E-mail, выберите его из списка и жмите Veryfy Now. Кстати там несколько способов верфикации. Можно еще выбрать "поместить этот файл в домен"
  6. После удачной верфикации, которая идет на весь домен и все поддомены, вы попадаете в форму, где надо вставить содержание CSR файла. Его мы будем сейчас генерировать
  7. На примере freebsd генерируем новый ключ:

#> openssl req -newkey rsa:2048 -nodes -keyout domen.ru.key -out domen.ru.csr

На заданные вопросы отвечаем примерно:

Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Moscow
Locality Name (eg, city) []:Moscow
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Организация, например VASYA LTD
Organizational Unit Name (eg, section) []:Что за организация, например IT
Common Name (e.g. server FQDN or YOUR name) []:тут доменное имя, т.е. domen.ru
Email Address []: пусто

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: пусто
An optional company name []: пусто

8. На выходе мы получаем 2 файла, это ключ и csr

9. Копируем содержимое domen.ru.csr в поле на сайте, и жмем check csr. Если все няшно, то он покажет что это за ключ.

10. Жмем SUBMIT. Сайт сгенерирует сертификат и предложит его скачать. Что мы и делаем.

11. Распаковываем архив, и выбираем тот веб-сервер, которым вы пользуетесь. У меня апач, значит на его примере мы все и сделаем.

12. После распаковки мы получаем 2 файла: 1_root_bundle.ctr и 2_domen.ru.ctr. Для удобства переименовываем первый в domen.ru_root.ctr, а второй в просто domen.ru.ctr

13. Копируем файлы domen.ru.key, domen.ru_root.ctr и domen.ru.ctr на сервер, пусть будет в папку /var/certs/

14. Теперь настраиваем virtualhost для домена нашего. У меня помимо назначения сертификата стоит автоматическая переадресация на безопасный протокол с обычного. И-так, конфиг:

<VirtualHost *:80>

ServerName domen.ru
RedirectMatch (.*) https://domen.ru$1
DocumentRoot /var/www/domen.ru/
CustomLog "/var/log/httpd-domen.ru_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

<VirtualHost *:443>

ServerName domen.ru:443
DocumentRoot /var/www/domen.ru/
CustomLog "/var/log/httpd-domen.ru_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

SSLEngine on
SSLCertificateFile "/var/certs/domen.ru.crt"
SSLCertificateKeyFile "/var/certs/domen.ru.key"
SSLCACertificateFile "/var/certs/domen.ru_root.crt" 

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/usr/local/www/apache24/cgi-bin">
SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0

</VirtualHost>

15. Остается перезапустить апач

#> apachectl restart

И если все сделано верно, мы получаем https для нашего сайта.