Как уже рассказывалось на нашем сайте, поисковые системы ценят сайты, которые используют протокол HTTPS. Но до последнего времени пропадало желание получать SSL/TLS сертификат, поскольку эта услуга была платной и требовала регулярного продления. Но есть хорошие новости: хотя необходимость продления сертификата никуда не делать, сами сертификаты можно получить совершенно бесплатно, в автоматическом режиме, благодаря проекту Letsencrypt. Создатели проекта стремились максимально упростить процесс, поэтому защитить передачу данных с сервером теперь не проблема!
Для начала, загрузим свежую версию скриптов, связанных с установкой, клонировав официальный репозиторий:
user@webserver:~$ git clone https://github.com/letsencrypt/letsencrypt
Далее перейдём в директорию letsencrypt и запустим получение сертификата (на примере нашего сайта):
user@webserver:~$ cd letsencrypt
user@webserver:~$ ./letsencrypt-auto certonly --standalone --email user_mail@gmail.com -d saytostroy.ru -d www.saytostroy.ru
По этому шагу добавлю только то, что сам скрипт letsencrypt-auto подтягивает за собой необходимые библиотеки и программы, такие как python, gcc, openssl-devel и libffi-devel. Это происходит автоматически при каждом запуске скрипта. В моём случае была "ругань" на то, что версия Python старовата, поэтому пришлось добавить в запуск опцию --debug, что заставляет скрипт выполняться, несмотря ни на что.
Кроме того, если веб-сервер запущен, потребуется временно его отключить. Это связано с тем, что Letsencrypt будет обращаться к Вашему серверу по доменному имени для подтверждения права владения доменом.
По окончанию работы скрипт поместит сертификат и ключи в папку /etc/letsencrypt/live/ваш_домен/. Причём, там будут лежать символические ссылки на актуальные сертификат. Таким образом, можно раз в 3 месяца (период действия сертификата) можно выполнять скрипт заново и он будет автоматически обновляться. Будет необходимо лишь перезапустить вебсервер.
Теперь пропишем сертификат в вебсервере nginx. Добавим в секцию server прослушивание стандартного порта, включим флаг отработки HTTS-соединений и укажем расположение сертификата и ключа:
listen ваш_ip:443;
ssl on;
ssl_certificate /etc/letsencrypt/live/ваш_домен/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ваш_домен/privkey.pem;
Перезапускаем nginx, заходим на сайт через https:// и видим, что сертификат в деле!
Комментарии и вопросы
Статью никто не комментировал.
Задать вопрос или оставить комментарий