Comments 24
Прочитал статью до конца, думаю вполне годный материал для новичков(хоть подобные материалы уже и есть на хабре). Но назрел 1 вопрос по релевантности заголовка статьи к ее содержимому — "а где и причем тут битрикс?".
+6
Ну я ставил сертификаты именно на сервер с битрикс, и в тексте приведено где указываются новые сертификаты в настроенной на битрикс системе.
По сути, если разбираться в nginx, итак понятно, где и что надо указать.
По сути, если разбираться в nginx, итак понятно, где и что надо указать.
0
Я думаю это не имеет значения, т.к. в системе могло быть что угодно, хоть набор скриптов на perl'e. Дело в том, что эта настройка затрагивает только nginx и генерацию letsencrypt. В битриксе вы не делаете абсолютно ничего.
П.с. — для интереса, пройдите поиском по своему тексту на слова «битрикс» — их там ровно 0 не считая заголовок.
П.с. — для интереса, пройдите поиском по своему тексту на слова «битрикс» — их там ровно 0 не считая заголовок.
+3
# service nginx restart
Так он же упадет после этого, если с конфигом что-то не так.
# service nginx reload исключительно.
Плюсом, сам letsencrypt вроде как не рекомендует прописывать прямые пути в конфигах nginx на /etc/letsencrypt/… а копировать их в скрипте крона, который обновляет сертификаты.
Так он же упадет после этого, если с конфигом что-то не так.
# service nginx reload исключительно.
Плюсом, сам letsencrypt вроде как не рекомендует прописывать прямые пути в конфигах nginx на /etc/letsencrypt/… а копировать их в скрипте крона, который обновляет сертификаты.
+4
nginx -t
+2
# service nginx reload исключительно.
Спасибо, исправил.
сам letsencrypt вроде как не рекомендует прописывать прямые пути в конфигах nginx
В инструкции этого не увидел, но, думаю, можно и так и эдак.
0
В live же вроде всегда свежие симлинки, ссылаться на которые вполне можно, не?
0
Пожалуй, я и правда был неправ. Почему-то мне запомнилось по выводу скрипта, что так делать не стоит, однако ж перечитал официальную документацию:
Явно говорят можно, и даже рекомендовано.
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)
Явно говорят можно, и даже рекомендовано.
0
UFO just landed and posted this here
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04
статья куда серьезнее и без привязки к «Битрикс»
статья куда серьезнее и без привязки к «Битрикс»
+2
Хм, той статье уже три месяца. Пошёл дописал в комментах свой опыт про обновление сертификата. Тоже не менее важный процесс, чем первичная установка. Вкратце: всё работает само, даже и писать особо-то нечего.
0
Я не могу сказать, что очень уж продвинутый админ
Но то, что их скрипт тянет за собой build stack, мне нравится не очень.
И вообще скрипт очень уж… самоуверен, чтоли.
Но то, что их скрипт тянет за собой build stack, мне нравится не очень.
И вообще скрипт очень уж… самоуверен, чтоли.
0
Вы stapling тоже не смогли настроить?
Мучался и гуглил сам около 2 дней — не смог.
Мучался и гуглил сам около 2 дней — не смог.
0
После пары дней гугла и чтения всяческих статей и мануалов, вывел идеальный конфиг. В общем это у меня лежит в /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 (мне без него не обойтись).
##
# 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 (мне без него не обойтись).
0
Для меня как новичка, не понятно как быть если есть и nginx и apache?
0
--
0
Вот такая ошибка при получении сертификата. Что не так?
--> Проверка зависимостей окончена
Ошибка: 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!
И подскажите, пожалуйста, если я уже устанавливал ранее сертификат для почты (в конфиге прописаны пути к сертификатам), то может его можно использовать или еще один можно установить?
--> Проверка зависимостей окончена
Ошибка: 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!
И подскажите, пожалуйста, если я уже устанавливал ранее сертификат для почты (в конфиге прописаны пути к сертификатам), то может его можно использовать или еще один можно установить?
0
Спасибо за инструкцию! Помогла.
Единственное, если Вам требуется регулярно обновлять сертификаты (а требуется, конечно), то репозиторий сразу лучше клонировать не в /tmp, а в какую-то рабочую папку, куда потом и направлять cron за certbot-auto.
Единственное, если Вам требуется регулярно обновлять сертификаты (а требуется, конечно), то репозиторий сразу лучше клонировать не в /tmp, а в какую-то рабочую папку, куда потом и направлять cron за certbot-auto.
0
Sign up to leave a comment.
Подробная инструкция по установке SSL-сертификата Let’s Encrypt на сервер с CMS Bitrix и Nginx