Как стать автором
Обновить

Комментарии 24

Прочитал статью до конца, думаю вполне годный материал для новичков(хоть подобные материалы уже и есть на хабре). Но назрел 1 вопрос по релевантности заголовка статьи к ее содержимому — "а где и причем тут битрикс?".
Ну я ставил сертификаты именно на сервер с битрикс, и в тексте приведено где указываются новые сертификаты в настроенной на битрикс системе.
По сути, если разбираться в nginx, итак понятно, где и что надо указать.
Я думаю это не имеет значения, т.к. в системе могло быть что угодно, хоть набор скриптов на perl'e. Дело в том, что эта настройка затрагивает только nginx и генерацию letsencrypt. В битриксе вы не делаете абсолютно ничего.
П.с. — для интереса, пройдите поиском по своему тексту на слова «битрикс» — их там ровно 0 не считая заголовок.
# service nginx restart
Так он же упадет после этого, если с конфигом что-то не так.
# service nginx reload исключительно.

Плюсом, сам letsencrypt вроде как не рекомендует прописывать прямые пути в конфигах nginx на /etc/letsencrypt/… а копировать их в скрипте крона, который обновляет сертификаты.
nginx -t
# service nginx reload исключительно.

Спасибо, исправил.
сам letsencrypt вроде как не рекомендует прописывать прямые пути в конфигах nginx

В инструкции этого не увидел, но, думаю, можно и так и эдак.
В live же вроде всегда свежие симлинки, ссылаться на которые вполне можно, не?
Пожалуй, я и правда был неправ. Почему-то мне запомнилось по выводу скрипта, что так делать не стоит, однако ж перечитал официальную документацию:
All generated keys and issued certificates can be found in /etc/letsencrypt/live/$domain. Rather than copying, please point your (web) server configuration directly to those files (or create symlinks)

Явно говорят можно, и даже рекомендовано.
НЛО прилетело и опубликовало эту надпись здесь
Until May 2016, Certbot was named simply letsencrypt or letsencrypt-auto

Пруф
Хм ваша ссылка редиректиктит как раз на https://github.com/certbot/certbot. Да и официальный сайт (https://letsencrypt.org/getting-started/) отправляет на Certbot
НЛО прилетело и опубликовало эту надпись здесь
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04
статья куда серьезнее и без привязки к «Битрикс»
Хм, той статье уже три месяца. Пошёл дописал в комментах свой опыт про обновление сертификата. Тоже не менее важный процесс, чем первичная установка. Вкратце: всё работает само, даже и писать особо-то нечего.
Я не могу сказать, что очень уж продвинутый админ
Но то, что их скрипт тянет за собой build stack, мне нравится не очень.
И вообще скрипт очень уж… самоуверен, чтоли.
Вы stapling тоже не смогли настроить?
Мучался и гуглил сам около 2 дней — не смог.
После пары дней гугла и чтения всяческих статей и мануалов, вывел идеальный конфиг. В общем это у меня лежит в /etc/nginx/nginx.conf:
##
# SSL Settings
##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;

# Uncomment for SSLLabs.com x4 100.
#ssl_protocols TLSv1.2;
#ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!AES128';

# With AES128 for better compability.
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

ssl_prefer_server_ciphers on;

ssl_ecdh_curve secp384r1;

# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;

А в виртуал хостах (/etc/nginx/sites-available/domain.xyz.conf) я прописываю только это:

### START OF SSL CONFIGURATION ###

ssl on;

ssl_certificate /etc/letsencrypt/live/cloud.krasovsky.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cloud.krasovsky.me/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/cloud.krasovsky.me/fullchain.pem;
ssl_dhparam /etc/letsencrypt/live/cloud.krasovsky.me/dhparam.pem;

### END OF SSL CONFIGURATION ###

add_header Strict-Transport-Security 'max-age=631138519; includeSubDomains; preload' always;

Если раскомментировать участок кода и закомментировать аналогичный, то на SSLLabs можно получить все 4 проверки на 100 баллов, но теряется поддержка многих устройств (реально многих, там даже Android 4.3 не может зайти). А с моим конфигом не работает только Windows XP и Android 2.3, потому что они не поддерживают SNI (мне без него не обойтись).
Дублирую на Pastebin, а то может быть какие-то символы сожрал парсер:
http://pastebin.com/614YLmfW
Для меня как новичка, не понятно как быть если есть и nginx и apache?
Тут всё зависит от настройки. Чаще всего первым при запросе пользователя отвечает nginx, затем он перенаправляет запрос на apache. Если этот запрос внутри сервера идёт по незашрифрованному пути (то есть в proxy_pass ссылка прописана как http), то достаточно настроить один только nginx.
Вот такая ошибка при получении сертификата. Что не так?

--> Проверка зависимостей окончена
Ошибка: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:

1. You have an upgrade for openssl which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of openssl of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude openssl.otherarch… this should give you an error
message showing the root cause of the problem.

2. You have multiple architectures of openssl installed, but
yum can only see an upgrade for one of those arcitectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.

3. You have duplicate versions of openssl installed already.
You can use «yum check» to get yum show these errors.

...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).

Protected multilib versions: openssl-1.0.1e-57.el6.x86_64 != openssl-1.0.1e-42.el6_7.4.i686
Could not install OS dependencies. Aborting bootstrap!

И подскажите, пожалуйста, если я уже устанавливал ранее сертификат для почты (в конфиге прописаны пути к сертификатам), то может его можно использовать или еще один можно установить?
C этим разобрался, сертификаты для разных сайтов установлены. Но после установки сертификата, сайт стал дидосить
https://site.com:443/csp-report. Как это отключить?
Спасибо за инструкцию! Помогла.
Единственное, если Вам требуется регулярно обновлять сертификаты (а требуется, конечно), то репозиторий сразу лучше клонировать не в /tmp, а в какую-то рабочую папку, куда потом и направлять cron за certbot-auto.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.