Перейти к содержанию
malike

FreeBSD Получаем бесплатный SSL сертификат Let's Encrypt и обновляем его каждые 3 месца

Рекомендуемые сообщения

Центр сертификации Let's Encrypt

Вы абсолютно бесплатно можете получать SSL сертификаты сроком на 3 месяца а потом их автоматически обновить.

И так поехали, ставить это все будем на

[root@s4 ~]# uname -a
FreeBSD s4 11.1-RELEASE FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 02:08:28 UTC 2017     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

 

1. Обновим порты, и установим из портов py27-certbot

[root@s4]# portsnap fetch
[root@s4]# portsnap update
[root@s4]# cd /usr/ports/security/py-certbot/
[root@s4 /usr/ports/security/py-certbot]#  make install clean

2. Запустим процедуру получения бесплатного SSL сертификата

certbot certonly --agree-tos --email admin@bee-media.ru --webroot -w /usr/local/web/forum.bee-media.ru/www -d forum.bee-media.ru

certonly - получаем сертификат, но не устанавливаем его автоматически;

--agree-tos - соглашаемся с правилами и условиями сервиса;

--email - предоставляем e-mail web мастера, это обязательно;

--webroot - подтверждаем право владения доменом через запрос кода по HTTP;

-w - путь к контенту сайта для временного размещения кода;

-d - домены, которые будет подтверждать данный сертификат. В данном случае, мы выписываем в один сертификат на один домен. Если вы к примеру получаете сертификат на domen.ru и www.domen.ru напишите запрос с 2мя ключи -d к примеру:

certbot certonly --agree-tos --email admin@bee-media.ru --webroot -w /usr/local/web/www.bee-media.ru/www -d www.bee-media.ru -d bee-media.ru

Let's Encrypt позволяет включить в него до 100 доменов одновременно.

3. Настраиваем nginx для работы с SSL 

 Редактируем конфигурацию nginx

[root@s4 /]# mcedit /usr/local/etc/nginx/nginx.conf

Приводим конфиг к такому виду:

server {
    listen 443 ssl http2;
    listen 80;
    server_name forum.bee-media.ru;
    root /usr/local/web/forum.bee-media.ru/www/;
    index index.php index.html index.htm;
    access_log /usr/local/web/forum.bee-media.ru/logs/access.log main;
    error_log /usr/local/web/forum.bee-media.ru/logs/error.log;

    ssl on;
    ssl_certificate /usr/local/etc/letsencrypt/live/forum.bee-media.ru/fullchain.pem;
    ssl_certificate_key /usr/local/etc/letsencrypt/live/forum.bee-media.ru/privkey.pem;

    # GitLab needs backwards compatible ciphers to retain compatibility with Java IDEs
    ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 5m;

    if ( $scheme = "http" ) {
        rewrite ^/(.*)$   https://$host/$1 permanent;
    }

 

Перезагружаем NGINX

 [root@s4 /]# /usr/local/etc/rc.d/nginx resrtart

Заходим на ваш сайт https://forum.bee-media.ru и радуемся зеленой надписи "Надежный"

4. Далее настраиваем авто обновление SSL сертификатов по крону.

Открываем файл крона

[root@s4 /]# mcedit /etc/cron

Дописываем в конец, не забываем в конце перейти на новую строчку нажав ENTER

5	1	1	*/2	*	root /usr/local/bin/certbot renew --post-hook "service nginx restart"

 

Поздравляю теперь у вас сертификат будет обновятся автоматически.

 

Поделиться сообщением


Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×