Установка SSL-сертификата Let's Encript для кириллического домена на Apache

Материал из ТХАБ.РФ
Версия от 20:55, 25 марта 2017; Админ (обсуждение | вклад) (Создаем SSL сертификат для HTTPS протокола на сайт)

Перейти к: навигация, поиск

Процесс установки описан здесь Установка SSL Lets Encript из командной строки на Nginx

Замечания

  • на 25.03.2017 Let's Encript поддерживает кириллические домены
  • название домена надо вводить Пуникодом
  • почту админа (требуется в процессе регистрации) надо указывать на латинском домене например admsite@yandex.ru, почта вида admin@ИмяДомена.рф пока не принимается.
  • имя сайта пуникодом необходимо будет добавить
  • Добавлять в SSLсертификат домен www.ИмяДомена.рф не стоит, имеет смысл сделать перенаправление на ИмяДомена.рф

Установка

Устанавливаем клиент Let’s Encrypt на сервер

Подключаемся к серверу по SSH. И переходим, например, в домашнюю директорию:

cd /home/

В нее мы установим клиент Let’s Encrypt. Для этого нам понадобится git, если у вас на сервере уже установлен git, то просто выполните следующие команды:

sudo git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

Если у вас не установлен git, то либо установите его следующей командой:

sudo apt-get install git

Либо просто распакуйте zip архив из репозитория GitHub:

wget https://github.com/letsencrypt/letsencrypt/archive/master.zip
unzip master.zip
mv letsencrypt-master letsencrypt
cd letsencrypt

Устанавливаем скачанный клиент letsencrypt, для чего запускаем установочный скрипт:

./letsencrypt-auto --help

После установки клиента letsencrypt, и сопутствующего ПО, в конце появится страница с описанием справки по клиенту letsencrypt.

Все, клиент Let’s Encrypt установлен.

Создаем SSL сертификат для HTTPS протокола на сайт

Перейдем к созданию сертификата Let’s Encrypt. Для этого сначала необходимо остановить веб-сервер Apache:

sudo service apache2 stop

и запустить команду создания SSL сертификата, не забудьте поменять доменное имя site.com на свое.

В процессе создания сертификата, вам предложат ввести электропочту админа (кириллические домены почты пока не поддерживаются так что придётся ввести почту на яндексе), для важных сообщений и для восстановления ключа при необходимости. Далее нужно будет согласиться с лицензионным соглашением.

./letsencrypt-auto certonly --standalone -d site.com -d www.site.com

Для кириллического домена его имя необходимо указать в пуникоде, например так (для сайт.рф -> xn--80aswg.xn--p1ai ):

./letsencrypt-auto certonly --standalone -d xn--80aswg.xn--p1ai -d www.xn--80aswg.xn--p1ai

или если без под домена www:

./letsencrypt-auto certonly --standalone -d xn--80aswg.xn--p1ai

В случае успешного создания сертификата для HTTPS протокола вы соответствующее сообщение.

Созданный SSL сертификат и вся цепочка сохранится по следующему пути:

/etc/letsencrypt/live/site.com/

или для кириллического домена :

/etc/letsencrypt/live/xn--80aswg.xn--p1ai/

Файлы SSL сертификата

В /etc/letsencrypt/live/site.com/ будут следующие файлы:

  • privkey.pem - приватный ключ для сертификата. В Apache он используется в директиве SSLCertificateKeyFile. В Nginx используется в директиве ssl_certificate_key.
  • cert.pem - сертификат сервера. Его требует директива Apache SSLCertificateFile.
  • chain.pem - связка всех сертификатов, которые обслуживаются браузером, за исключением cert.pem. 'Используется [[Apache[[ SSLCertificateChainFile.
  • fullchain.pem - вся связка сертификатов (объединение chain.pem и cert.pem). Используется в Nginx для ssl_certificate.

Вот мы и получили сертификат. Не забудьте запустить Apache:

sudo service apache2 start

Ссылки


Яндекс | Картинки | Видео | Карты | Карты ОСМ | Спутник | Гугл | Вольфрам-Альфа | РуВики | EnWiki