Π Π°Π·Π½ΠΎΠ΅

Letsencrypt ubuntu nginx: настройка Π² Debian ΠΈ Ubuntu / Π₯Π°Π±Ρ€

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

настройка Π² Debian ΠΈ Ubuntu / Π₯Π°Π±Ρ€

Если Π²Π΄Ρ€ΡƒΠ³ вся эта история ΠΏΡ€ΠΎΡˆΠ»Π° ΠΌΠΈΠΌΠΎ вас, Let’s Encrypt β€” Ρ†Π΅Π½Ρ‚Ρ€ сСртификации ΠΎΡ‚ нСкоммСрчСской ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ISRG, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ EFF ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, взявшСй Π½Π° сСбя миссию Π΄Π°Ρ‚ΡŒ людям бСсплатныС SSL/TLS сСртификаты для сайтов ΠΈ сСрвСров. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ ΠΎΡ‚ Let’s Encrypt ΡƒΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ бСсплатности Ρƒ сСртификатов ΠΎΡ‚ Let’s Encrypt Π΅ΡΡ‚ΡŒ особоС, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Ρƒ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… коммСрчСских сСртификационных Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ², достоинство: Ссли Π²Ρ‹ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ сСртификат ΠΎΡ‚ Let’s Encrypt, Ρ‚ΠΎ, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… Ρ€Π°Π²Π½Ρ‹Ρ…, это навсСгда. НС Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π· Π² Π³ΠΎΠ΄-Π΄Π²Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сСртификаты. НС Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ сСртификаты Π³Π΄Π΅-Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ», настроил ΠΈ Π·Π°Π±Ρ‹Π»!

Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ сразу Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ Π²ΠΎΠ·Ρ€Π°Π·ΠΈΡ‚ΡŒ: ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚Π°ΠΊ, вСдь извСстно Ρ‡Ρ‚ΠΎ сСртификаты Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ со сроком дСйствия Π² Ρ‚Ρ€ΠΈ мСсяца? Всё Π΄Π΅Π»ΠΎ Π² автоматичСском ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ сСртификатов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ отсутствии дСйствий со стороны Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ автоматичСского обновлСния сСртификатов Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, с Ρ‚Π΅ΠΌ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ это ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ прСимущСство Let’s Encrypt.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ эта ΡΡ‚Π°Ρ‚ΡŒΡ

На сайтС EFF Π΅ΡΡ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ инструкции ΠΏΠΎ использованию Certbot, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для получСния сСртификатов, Π½ΠΎ ΠΎΠ½ΠΈ скорСй рассчитаны Π½Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° свой сСрвСр ΠΏΠΎ SSH лишь ΠΏΠΎ острой нСобходимости. Π‘ΠΎΠ»Π΅Π΅ подробная докумСнтация Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ, Π½ΠΎ ΠΏΠΎΠΊΠ° всю Π΅Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅ΡˆΡŒ ΠΈ найдСшь всё Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒβ€¦ К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π² Π½Π΅ΠΉ Π½Π΅ рассмотрСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ стратСгичСскиС вопросы использования сСртификатов.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΡƒΠΆΠ½Π° короткая ΠΈ понятная инструкция для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π΅Π½ ΠΊ сСрвСрной консоли, Π½ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²ΠΎ всём Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ… Ρ‚Ρ€Π°Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Из этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅…

  1. Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Certbot для рСгулярного использования.
  2. Π§Ρ‚ΠΎ трСбуСтся ΠΎΡ‚ nginx ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ nginx для получСния сСртификатов.
  3. Как ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сСртификаты ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ сСртификат.
  4. Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСртификат ΠΎΡ‚ Let’s Encrypt Π² nginx.
  5. Как автоматичСски ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сСртификаты.

Caveat emptor

Всё Π·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎ SNI? Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ сразу ΠΏΡ€ΠΎ установку.

Π’ инструкциях Π½ΠΈΠΆΠ΅ я исхоТу ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ ваши сайты Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SNI. Π­Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TLS позволяСт Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ имя сайта Π΄ΠΎ получСния ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ SSL сСртификата ΠΎΡ‚ сСрвСра. Благодаря SNI Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ сайтов Π·Π° HTTPS Π½Π° ΠΎΠ΄Π½ΠΎΠΌ IP. Но Π½Π΅ всё Ρ‚Π°ΠΊ просто β€” ΠΈΠ½Π°Ρ‡Π΅ Π±Ρ‹ Π·Π°Ρ‡Π΅ΠΌ я ΠΎΠ± этом писал?

Π•ΡΡ‚ΡŒ ряд старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… SNI. Π’ ΠΈΡ… число входят Π»ΡŽΠ±Ρ‹Π΅ вСрсии IE Π² ΡƒΠΆΠ΅ Π·Π°Π±Ρ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΌ Windows XP, встроСнный Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π² Android 2.3 ΠΈ 2.2 ΠΈΠ· 2010 Π³ΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ экзотичСскиС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Java вСрсии 1.6 ΠΈ Python Π΄ΠΎ вСрсии 2.7.9.

Если Π²Ρ‹ всё-Ρ‚Π°ΠΊΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш сайт открывался Π² IE Π² Windows XP, Ρ‚ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠΌ ΠΎΡ‚ SNI эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ. НуТно ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡˆΠΈΡ„Ρ€Ρ‹, ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°ΡΡΡŒ ΠΎΡ‚ forward secrecy ΠΈ рискуя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΈΠ·ΠΊΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ ΠΎΡ‚ SSL Labs. Как ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°Ρ‚ΡŒΡΡ, этот вопрос заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обсуТдСния хотя Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ IE ΠΏΠΎΠ΄ XP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΡ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ β€” Ρƒ Π½ΠΈΡ… ΡƒΠΆΠ΅ Π½Π΅ открываСтся ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°!

Π•Ρ‰Π΅ Π³ΠΎΠ΄ Π½Π°Π·Π°Π΄ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° SNI вас ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ограничСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ поисковыми Π±ΠΎΡ‚Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° Bing, Π½ΠΎ сСйчас, с появлСниСм дСсятков сайтов с бСсплатными сСртификатами ΠΎΡ‚ Cloudflare, Ρ‡Ρ‚ΠΎ Π±Π΅Π· SNI Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Π±ΠΎΡ‚ Bing (Ρ‡Ρ‚ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ), ΠΈ Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… основных поисковиков, ΠΏΡ€ΠΈΡˆΠ»ΠΈ Π² согласиС с Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. БСйчас Π·Π° это ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π²ΠΎΠ»Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Ρƒ Googlebot Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π°.

Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ²ΠΎΠ΄ΠΎΠΌ для Π²ΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ срСдства доступа ΠΊ API вашСго сайта. Если Ρƒ вас Π΄Π°Π²Π½ΠΎ Π΅ΡΡ‚ΡŒ API, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСбольшой шанс Ρ‡Ρ‚ΠΎ срСди Π²Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ вСрсии Java ΠΈΠ»ΠΈ Python. Если Ρƒ вас Ρ‚Π°ΠΊΠΈΡ… Π½Π΅Ρ‚, Ρ‚ΠΎ Π½Π΅ ΠΎ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ. Если ΠΆΠ΅ Π΅ΡΡ‚ΡŒ β€” ΠΌΠΎΠΈ соболСзнования.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° SNI?

  1. Π­Ρ‚ΠΎ просто. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ постоянно Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ Ρ„Π°ΠΊΡ‚Ρ‹ ΠΎ Π²Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… сСртификатах. Для ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° сСртификат Π±Ρ‹Π» Π²Ρ‹Π΄Π°Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. К ΠΊΠ°ΠΊΠΎΠΌΡƒ сСртификату Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΅Ρ‰Π΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹. И Ρ‚Π°ΠΊ далСС… Ни ΠΎ Ρ‡Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠΌ со SNI Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ.

  2. Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ сСкрСтами. Если Ρƒ вас для всСх Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΎΠ΄ΠΈΠ½ сСртификат, Ρ‚ΠΎ любой смоТСт ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ вСсь список, нСзависимо ΠΎΡ‚ вашСго ТСлания. Если ΠΆΠ΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сайта свой сСртификат, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π΅Ρ‚.

НапримСр, Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Ρ‹ Π² сСртификатС ВСматичСских МСдиа:

true | openssl s_client -showcerts -connect habrahabr.ru:443 2>&1 |
    openssl x509 -text | grep -o 'DNS:[^,]*' | cut -f2 -d:

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ список всСвозмоТных Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ВМ:

habrastorage.org
api.geektimes.ru
api.habrahabr.ru
geektimes.ru
habrahabr.ru
id.tmtm.ru
lab.geektimes.ru
m.geektimes.ru
m.habrahabr.ru
special.geektimes.ru
special.habrahabr.ru
www.geektimes.ru
www.habrahabr.ru

Никакой сСкрСтности ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ‚Π°ΠΉΠ½. Π’Ρ‹ этого Ρ…ΠΎΡ‚ΠΈΡ‚Π΅?

Установка Certbot

Если Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ этот тСкст ΠΈΠ· Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ, ΠΊΠΎΠ³Π΄Π° Certbot ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² Debian stable ΠΈ Ubuntu Π±Π΅Π· обиняков ΠΈ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΠΊ, Ρ‚ΠΎ всё просто:

apt-get install certbot

Π›ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ aptitude ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ вашСго дистрибутива.

Установка Π² Jessie

Если Ρƒ вас Π΅Ρ‰Π΅ Π² Ρ…ΠΎΠ΄Ρƒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π° ΠΊΠΎΠ½Π΅Ρ† 2016 Π³ΠΎΠ΄Π° Debian stable «jessie», Ρ‚ΠΎ всё лишь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС.

  1. НуТно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Debian Backports, Π΄ΠΎΠ±Π°Π²ΠΈΠ² строчку Π² /etc/apt/sources.list:

    deb http://ftp.debian.org/debian/ jessie-backports main contrib non-free

  2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ источника:

    apt-get update
    apt-get install certbot -t jessie-backports

    (Π Π°Π·Π΄Π΅Π» Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ ΠΏΠΎΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ stretch Π½Π΅ стал stable.)

Ubuntu вСрсий Π½ΠΈΠΆΠ΅ 16.10 (yakkety)

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install --upgrade letsencrypt

Π”Π°Π»ΡŒΡˆΠ΅ Π²Π΅Π·Π΄Π΅ вмСсто certbot ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ letsencrypt.

Π”Ρ€ΡƒΠ³ΠΎΠΉ дистрибутив

Если Ρƒ вас ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ дистрибутив, Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструкции ΠΏΠΎ установкС Π΅ΡΡ‚ΡŒ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Certbot. Если ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π±Π΅Π· ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ установка сводится ΠΊ…

wget -O /usr/local/bin/certbot-auto https://dl.eff.org/certbot-auto
chmod +x /usr/local/bin/certbot-auto
ln -s /usr/local/bin/certbot-auto /usr/local/bin/certbot

Π’Π΅Π·Π΄Π΅ Π½ΠΈΠΆΠ΅ вмСсто ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ certbot ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ certbot-auto.

Certbot ΠΈ webroot

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сСртификаты ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ webroot Π±Π΅Π· пСрСнастройки ΠΈΠ»ΠΈ остановки Π²Π΅Π±-сСрвСра, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ подразумСваСтся nginx. Нам Π½ΡƒΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ certbot Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ доступСн ΠΈΠ· сСти ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅ΠΌΡƒ сСрвСру согласно ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ACME.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π΄Π»ΠΈΠ½Π½ΡƒΡŽ строку ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΉ, Π° Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅ β€” Π½Π΅ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ…, запишСм основныС настройки Π² Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ certbot ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π² /etc/letsencrypt/cli.ini:

authenticator = webroot
webroot-path = /var/www/html
post-hook = service nginx reload
text = True

ПослСдняя Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π½ΡƒΠΆΠ½Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒ нас ΠΎΡ‚ прСлСстСй ΠΈ красивостСй ncurses, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ здСсь, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΈ Ρƒ сСбя.

Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ мягко ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ nginx (Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π° Π² обслуТивании) ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ сСртификатов. НичСго Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π² этот ΠΆΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСрвисы Π²Ρ€ΠΎΠ΄Π΅ Postfix, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сСртификаты. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой.

Если Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ

Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

letsencrypt: error: Unexpected line 14 in /etc/letsencrypt/cli.ini: post-hook = service nginx reload; service postfix reload

Π’ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ python-configargparse. Ошибка Π±Ρ‹Π»Π° исправлСна Π² 0.11.0.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Certbot

ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ Ρ‡Ρ‚ΠΎ certbot Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² Π½Π° Π΄ΠΎΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Π½ΠΈΠΆΠ΅ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ. Π’Ρ€ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΈΡ…:

/var/www/html/.well-known/acme-challenge/example.html

Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны ΠΈΠ· сСти Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΏΠΎ HTTP:

http://www.example.com/.well-known/acme-challenge/example.html

Для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ создадим ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»:

mkdir -p /var/www/html/.well-known/acme-challenge
echo Success > /var/www/html/.well-known/acme-challenge/example.html

РСгистрация Π² Let’s Encrypt

Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·:

certbot register --email [email protected]

Π—Π΄Π΅ΡΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ nginx ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ сСртификатов

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС для получСния сСртификата Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎ всСх Π±Π»ΠΎΠΊΠ°Ρ… server Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π±Π»ΠΎΠΊΠΎΠ² location:

location /.well-known {
    root /var/www/html;
}

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сайта Ρ‚Π°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ явно β€” это ΠΌΠΎΠ²Π΅Ρ‚ΠΎΠ½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ создадим Ρ„Π°ΠΉΠ» /etc/nginx/acme с содСрТаниСм Π±Π»ΠΎΠΊΠ° Π²Ρ‹ΡˆΠ΅.

# cat /etc/nginx/acme 
location /.well-known {
    root /var/www/html;
}

Π—Π°Ρ‚Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификаты, Π² Π±Π»ΠΎΠΊΠ΅ server ΠΏΠ΅Ρ€Π΅Π΄ всСми Π±Π»ΠΎΠΊΠ°ΠΌΠΈ location ΡƒΠΊΠ°ΠΆΠ΅ΠΌ:

include acme;

Π₯осты-Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Π³ΠΎΠ»ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π½Π° www) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ. ACME сСрвСр обязан ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ ΠΎΠ± этом Π½ΠΈΠΆΠ΅.

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ nginx ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ наш тСстовый Ρ„Π°ΠΉΠ» Π²ΠΈΠ΄Π΅Π½:

# service nginx reload
# curl -L http://www.example.com/.well-known/acme-challenge/example.html
Success

ПослС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ тСстовый Ρ„Π°ΠΉΠ» β€” certbot Π»ΡŽΠ±ΠΈΡ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π·Π° собой всё лишнСС, Π° Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ сообщСниС ΠΎΠ± ошибкС (Unable to clean up challenge directory).

rm /var/www/html/.well-known/acme-challenge/example.html

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ сСртификат.

О пСрСадрСсации с ΠΊΠΎΠ΄Π°ΠΌΠΈ 301 ΠΈ 302

Как Π±Ρ‹Π»ΠΎ ΡƒΠΆΠ΅ сказано, ACME сСрвСр Boulder ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ с ΠΊΠΎΠ΄Π°ΠΌΠΈ 301 ΠΈ 302. Π’ этом смыслС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния Π³Π΄Π΅, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, находятся Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для прохоТдСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ. ΠŸΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π΄Π°ΠΆΠ΅ Π½Π° нСстандартныС ΠΏΠΎΡ€Ρ‚Ρ‹, Π±Π΅Π· ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTP ΠΈΠ»ΠΈ HTTPS. Π‘Π°ΠΌΠΈ Let’s Encrypt Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ для создания Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² Π½Π° Π΄ΠΎΠΌΠ΅Π½Ρ‹.

Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эти Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄Π΅ΡΡΡ‚ΡŒ пСрСадрСсаций, Ρ‚ΠΎ ΠΈ Boulder эти Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚. НС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ IP адрСсам.

curl --location --max-redirs 10 http://example.com/.well-known/acme-challenge/example.html

Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ссли Ρƒ вас слоТная структура пСрСадрСсаций ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями сайтов. Π”ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ с location Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° основном сайтС для получСния сСртификатов для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

$ curl --head --silent --location --max-redirs 10 http://somewhere.example.net/... | grep ^HTTP
HTTP/1.1 301 Moved Permanently
HTTP/1.1 301 Moved Permanently
HTTP/1.1 200 OK

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° всСгда начинаСтся с запроса ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ HTTP Π½Π° 80 ΠΏΠΎΡ€Ρ‚Ρƒ.

Если Ρƒ вас ΡƒΠΆΠ΅ всё Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΎ…

Если Ρƒ вас ΡƒΠΆΠ΅ всС сайты Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ HTTPS, Ρ‚ΠΎ вся схСма Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ссли Ρƒ вас настроСн ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠΉ сСрвСр Π½Π° 80 ΠΏΠΎΡ€Ρ‚Ρƒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΉ $request_uri Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅.

Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π΄Π΅Π»ΠΎ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ наш Π±Π»ΠΎΠΊ с location Π² ΡƒΠΌΠΎΠ»Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС для 80 ΠΏΠΎΡ€Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΠ°Ρ†ΠΈΡŽ Π½Π° HTTPS. Π’ΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сайтов.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π°Π΄Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π³ΠΎ всё-подряд-Π½Π°-HTTPS сСрвСра:

server {
    listen server.example.com:80 default_server;

    include acme;

    location / {
        return 301 https://$host$request_uri;
    }
}

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ стоит ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² /etc/nginx/conf.d/default.conf, Π² сторонС ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… сайтов.

Π‘Π΅Ρ€Π²Π΅Ρ€ запускаСм явно Π½Π° внСшнСм IP Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Apache Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ€Ρ‚. Если для вас это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ сСрвСра Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ listen ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат для Π΄ΠΎΠΌΠ΅Π½Π° Π±Π΅Π· сайта…

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” сСртификат для Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄ SMTP ΠΈΠ»ΠΈ IMAP сСрвСров, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ сайтов. Π›ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ пСрСадрСсатор Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅, Π»ΠΈΠ±ΠΎ…

server {
    server_name smtp.example.com imap.example.com;
    listen server.example.com:80;

    include acme;

    location / {
        return 404;
    }
}

К соТалСнию, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ACME Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ сСрвСр Π±Ρ‹Π» доступСн Π²ΠΎ врСмя ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π­Ρ‚ΠΎ практичСски эквивалСнтно постоянной доступности, Π²Π²ΠΈΠ΄Ρƒ трСбования получСния ΠΈ обновлСния сСртификатов Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сСрвСра. НС удаляйтС Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ послС получСния сСртификата.

Если Ρƒ вас Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Apache2…

Если Ρƒ вас Apache2, Π° ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° всСми Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ nginx возмоТности Π½Π΅Ρ‚, то… Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строчки Π² /etc/apache2/conf-available/certbot.conf:

Alias /.well-known/ /var/www/html/.well-known/
<Directory /var/www/html/.well-known/>
    Satisfy any
</Directory>

Π—Π°Ρ‚Π΅ΠΌ

a2enconf certbot
mkdir -p /var/www/html/.well-known
service apache2 reload

И ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‚Π°ΠΊ:

mkdir -p /var/www/html/.well-known/acme-challenge
echo Success > /var/www/html/.well-known/acme-challenge/example.html
curl -L http://localhost/.well-known/acme-challenge/example.html && 
rm /var/www/html/.well-known/acme-challenge/example.html

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΏΠΎΡ‡Π΅ΠΌΡƒ такая схСма ΠΌΠΎΠΆΠ΅Ρ‚ Ρƒ вас Π² Apache2 Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. ΠŸΠ°Ρ€Ρ‹ экранов тСкста Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… всС. НС сСрчайтС β€” ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎ nginx.

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ сСртификаты

Π£ Let’s Encrypt Π΅ΡΡ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° количСство ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ Π·Π° сСртификатами, ΠΏΠΎΡ‚ΠΎΠΌΡƒ сначала ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ сСртификат Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ для тСстов:

certbot certonly --dry-run -d example.com -d www.example.com

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅:

The dry run was successful.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ смСло ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сСртификат ΡƒΠΆΠ΅ Π² самом Π΄Π΅Π»Π΅. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ www.

# certbot certonly -d example.com -d www.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
http-01 challenge for www.example.com
Using the webroot path /var/www/html for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem
Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will
   expire on 2017-04-01. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again. To
   non-interactively renew *all* of your certificates, run "certbot
   renew"

Π£Ρ€Π°! Π‘ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ сСртификата Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ!

Если Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½ Π² сСртификат

Если Π²Ρ‹ Π²Π΄Ρ€ΡƒΠ³ Π·Π°Π±Ρ‹Π»ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ www, ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ Π² сСртификат (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎ 100 Π² ΠΎΠ΄Π½ΠΎΠΌ сСртификатС), Ρ‚ΠΎ это Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ послС получСния сСртификата. ΠŸΡ€ΠΎΡΡ‚ΠΎ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π΅Ρ‰Π΅ Ρ€Π°Π·, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ΅ имя:

certbot certonly -d example.com -d www.example.com -d shop.example.com

Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π΅Π·Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ этот Π΄ΠΎΠΌΠ΅Π½ Π² сСртификат. Если хочСтся ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ вопросов, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ сразу ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄ΠΎΠ±Ρ€ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡:

certbot certonly --expand -d example.com -d www.example.com -d shop.example.com

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ сСртификат

УбСдимся Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ сСртификат β€” ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΡ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½:

# openssl x509 -text -in /etc/letsencrypt/live/example.com/cert.pem
Certificate:
    Signature Algorithm: ...
      Validity
        Not Before: Jan  3 06:00:00 2017 GMT
        Not After : Apr  3 06:00:00 2017 GMT
        X509v3 extensions:
            ...
            X509v3 Subject Alternative Name: 
                DNS:example.com, DNS:www.example.com

Или, Ссли подробности Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹:

cat /etc/letsencrypt/live/*/cert.pem | openssl x509 -text | 
        grep -o 'DNS:[^,]*' | cut -f2 -d:

Команда Π΄ΠΎΠ»ΠΆΠ½Π° вывСсти список Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π² сСртификатС.

Установка ΠΈ использованиС сСртификатов

Certbot Π½Π΅ пСрСзаписываСт сСртификаты, Π° замСняСт ΠΈΡ… ссылками Π½Π° самыС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ сСртификатов Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΌ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ сСртификата (Ρ‚.Π΅. CN).

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Ρ‡Ρ‚ΠΎ Π·Π° Ρ„Π°ΠΉΠ»Ρ‹ Ρƒ нас Π΅ΡΡ‚ΡŒ:

 # find /etc/letsencrypt/live/ -type l
/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/chain.pem
/etc/letsencrypt/live/example.com/privkey.pem
/etc/letsencrypt/live/example.com/cert.pem

Π‘ этим Π·Π½Π°Π½ΠΈΠ΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ настройки SSL для nginx:

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, cert.pem Π½ΠΈΠ³Π΄Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΈ это Π½Π΅ ошибка. Для nginx ΠΎΠ½ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:

server {
    server_name www.example.com;
    listen www.example.com:443 ssl; # default_server;
    # Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ default_server для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π±Π΅Π· SNI

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 127.0.0.1 8.8.8.8;

    # ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π½Π° http-Π²Π΅Ρ€ΡΠΈΡŽ сайта
    add_header Strict-Transport-Security "max-age=31536000";

    # явно "сломаСм" всС ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ с http://
    add_header Content-Security-Policy "img-src https: data:; upgrade-insecure-requests";

    # Π΄Π°Π»Π΅Π΅ всё Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅
    #location / {
    #    proxy_pass ...;
    #}
}

ΠšΠΎΠ½Ρ„ΠΈΠ³ для пСрСадрСсации с Π³ΠΎΠ»ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π±Π΅Π· www:

server {
    server_name example.com;
    listen example.com:443 ssl;
    access_log off;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 127.0.0.1 8.8.8.8;

    add_header Strict-Transport-Security "max-age=31536000";

    expires max;
    return 301 https://www.example.com$request_uri;
}

ΠŸΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ΡΡ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр для ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ DNS запросов. Если это Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ 127.0.0.1 Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ resolver Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° IP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ DNS сСрвСра.

Настройки ΡˆΠΈΡ„Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ (ssl_dhparam, ssl_session_cache) Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π½Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сСрвСров.

Perfect Forward Secrecy

Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Certbot ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΡ‚ вашСго сСртификата Π½Π΅ смотря Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ исходныС ΠΊΠΎΠ΄Ρ‹, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ, ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π·Π»ΠΎΠ΄Π΅ΠΈ смогут Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Ρ‚ΠΎ ΡΠΏΠ΅ΡˆΡƒ вас ΡƒΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒ. Если для соСдинСния с вашим сайтом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡˆΠΈΡ„Ρ€Ρ‹ ΠΈΠ· сСмСйств DHE ΠΈ ECDHE, Ρ‚ΠΎ ΡƒΡ‚Π΅Ρ‡ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π’ этих ΡˆΠΈΡ„Ρ€Π°Ρ… ΠΊΠ»ΡŽΡ‡ сСртификата ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для подтвСрТдСния подлинности, ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΊΠ»ΡŽΡ‡Π° для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. ВсС соврСмСнныС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ эти ΡˆΠΈΡ„Ρ€Ρ‹.

Если для ECDHE Π½Π° эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ для DHE ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ усилСнныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π›ΡƒΡ‡ΡˆΠ΅ всСго Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ DHE Π²ΠΎΠΎΠ±Ρ‰Π΅.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π±Π΅Π· DHE Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π±Π΅Π· DHE Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, Ρ‚ΠΎ сначала создадим ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

openssl dhparam -out /etc/ssl/private/dhparam.pem 2048

ΠŸΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ Π² /etc/nginx/conf.d/ssl_dhparam.conf ΠΎΠ΄Π½ΠΎΠΉ строкой:

ssl_dhparam /etc/ssl/private/dhparam.pem;

ΠŸΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ сСртификатов

Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ Π½Π° Ρ‚Ρ€ΠΈ мСсяца. НС Π½Π° ΠΏΠΎΠ»Π³ΠΎΠ΄Π°, Π½Π΅ Π½Π° Π³ΠΎΠ΄, Π° лишь Π½Π° Ρ‚Ρ€ΠΈ мСсяца. ЕстСствСнно это Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ вопросы. НуТно Π»ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ всю эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Ρ€ΠΈ мСсяца? НуТно Π»ΠΈ это Π΄Π΅Π»Π°Ρ‚ΡŒ всСгда Π΄ΠΎ искончания Π²Π΅ΠΊΠΎΠ²? ΠœΠΎΠΆΠ΅Ρ‚ стоит всё-Ρ‚Π°ΠΊΠΈ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ сСртификат Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎΠ± этом всСм ΠΈ Π½Π΅ Π²ΠΎΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚?

Но Π½Π΅Ρ‚, Π½Π΅ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹Π΅ срСдства! Как ΠΈ Π±Ρ‹Π»ΠΎ ΠΎΠ±Π΅Ρ‰Π°Π½ΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ сСртификатов ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ‚.

Если Ρƒ вас Debian, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ лишь Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ certbot Π² /etc/cron.d/certbot ΠΊΠ»ΡŽΡ‡ --allow-subset-of-names:

# послСдняя строка Π² /etc/cron.d/certbot
# Π±Ρ‹Π»ΠΎ certbot -q renew, Π° Π½Π°Π΄ΠΎ
certbot -q renew --allow-subset-of-names

Если Ρƒ вас Debian ΠΈ systemd, Ρ‚ΠΎ посмотритС эти инструкции.

Если Ρƒ вас Π½Π΅ Debian ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Ρ„Π°ΠΉΠ»Π°, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² crontab ΠΎΡ‚ root ΠΎΠ΄Π½Ρƒ лишь строчку (sudo crontab -e):

42 */12 * * * certbot renew --quiet --allow-subset-of-names

Богласно Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ Let’s Encrypt слСдуСт ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСртификаты Π΄Π²Π° Ρ€Π°Π·Π° Π² дСнь. Π”Π΅Π»Π°Ρ‚ΡŒ это Π½ΡƒΠΆΠ½ΠΎ Π² случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ Ρ‚ΠΎΠ³ΠΎ часа, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ 42 Π² этой строкС Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ 0 ΠΈ 59. Π›ΠΈΠ±ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это дСлаСтся Π² /etc/cron.d/certbot.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

Π’ этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΊΠ»ΡŽΡ‡ --allow-subset-of-names Π½ΡƒΠΆΠ΅Π½ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Certbot пытался ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификаты для частичного Π½Π°Π±ΠΎΡ€Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².

НапримСр, Π±Ρ‹Π»ΠΈ Ρƒ вас Π½Π° сСрвСрС Π±Ρ‹Π»ΠΈ сайты www.example.com ΠΈ shop.example.com, проходящиС ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ сСртификатом, Π½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹ пСрСнСсли shop.example.com Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр. Если Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ»ΡŽΡ‡ Π½Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‚ΠΎ Certbot ΡƒΠΏΠ°Π΄Π΅Ρ‚ с ошибкой ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ shop.example.com, Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² для вас Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ сСртификата. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ истСчСт ΠΈ ваш сайт ΡƒΠΉΠ΄Π΅Ρ‚ Π² ΠΎΡ„Ρ„Π»Π°ΠΉΠ½. Π‘ этим ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π²Ρ‹ всё ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сСртификаты хотя Π±Ρ‹ для частичного Π½Π°Π±ΠΎΡ€Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², оставив ваши сайты Π² сСти.

Π’ΠΎΡ‚ ΠΈ всё

Если Π²Π°ΠΌ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΏΠΎ Π΄ΡƒΡ…Ρƒ tee ΠΈ sed, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ короткая инструкция ΠΏΠΎ настройкС связки Let’s Encrypt ΠΈ nginx, ΠΏΡ€ΠΈ условии ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ настроСнного hostname. Волько ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ вставляй.


Нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ? ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Π»ΠΈΡ‡ΠΊΡƒ, поТалуйста.

Настройка SSL Let’s Encrypt Π² Nginx Π½Π° Ubuntu Β· Dmitriy Azarov

Π€Π°ΠΉΠ»Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

Π‘ΠΎΠ·Π΄Π°ΠΌΠΈ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² для ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ копипасты. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π½ΡƒΠΆΠ΅Π½ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ letencrypt Π΄ΠΎΠΌΠ΅Π½Π°.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» /etc/nginx/snippets/letsencrypt.conf содСрТимым

location ^~ /.well-known/acme-challenge/ {
	default_type "text/plain";
	root /var/www/letsencrypt;
}

И Ρ„Π°ΠΉΠ» ΠΎΠ±Ρ‰ΠΈΡ… настроСк для ssl /etc/nginx/snippets/ssl.conf

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

ssl_protocols TLSv1.2;
ssl_ciphers EECDH+AESGCM:EECDH+AES;
ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers on;

ssl_stapling on;
ssl_stapling_verify on;

add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ letsencrypt

sudo mkdir -p /var/www/letsencrypt/.well-known/acme-challenge

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСртификата

Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² самом Π½Π°Ρ‡Π°Π»Π΅ Π½Π΅Ρ‚ сСртификата, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ http. Π’ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ сайтС (ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠΌ) ΠΈΠΌΠ΅Π΅ΠΌ:

server {
	listen 80;
	listen [::]:80 ipv6only=on;
	server_name oxozle.com;

	include /etc/nginx/snippets/letsencrypt.conf;
}

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ сайт

ln -s /etc/nginx/sites-available/oxozle.com /etc/nginx/sites-enabled/oxozle.com

И рСстартуСм nginx

sudo systemctl reload nginx

Certbot

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°, для запроса ΠΈ обновлСния сСртификатов ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot

Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ сСртификат Ρ‡Π΅Ρ€Π΅Π· certbot

certbot certonly --webroot --agree-tos --no-eff-email --email [email protected] -w /var/www/letsencrypt -d oxozle.com

HTTPS

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π° http ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ сам https

server {
        listen 80;
        listen [::]:80 ipv6only=on;
        server_name oxozle.com;

        include /etc/nginx/snippets/letsencrypt.conf;

        return 301 https://$host$request_uri;
}


server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2 ipv6only=on;
        server_name oxozle.com;

        ssl_certificate /etc/letsencrypt/live/oxozle.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/oxozle.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/oxozle.com/fullchain.pem;
        include /etc/nginx/snippets/ssl.conf;
}

И рСстартуСм nginx

sudo systemctl reload nginx

АвтоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ дСйствуСт 30 Π΄Π½Π΅ΠΉ, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Ρ€Π΅Π· cron.

Π’ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ:

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ~/letsencrypt.sh, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ исполнятся врСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

#!/bin/bash
systemctl reload nginx

Π”Π΅Π»Π°Π΅ΠΌ Π΅Π³ΠΎ исполняСмым

chmod +x ~/letsencrypt.sh

Π’Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ cron

ДобавляСм строку

20 3 * * * certbot renew --noninteractive --renew-hook ~/letsencrypt.sh

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ SSL-сСртификатов для Nginx с Let’s Encrypt ΠΏΠΎΠ΄ Ubuntu 16.04 – Vscale Community

НСкоммСрчСский ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΉ Ρ†Π΅Π½Ρ‚Ρ€ Let’s Encrypt, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠΎΠ΄ эгидой Linux FoundationΒ — Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ бСсплатный (Π½Π΅ самоподписанный!) SSL/TLS-сСртификат сроком Π½Π° Ρ‚Ρ€ΠΈ мСсяца, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ автопродлСния.

Π’ Π΄Π°Π½Π½ΠΎΠΌ руководствС всС дСйствия Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Β letsencrypt. ΠžΠ½Β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ достовСрный сСртификат, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΉ для использования Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… прилоТСниях, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΆΠ΅ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎΠ± Nginx.

ВрСбования:

  • Ubuntu Server 16.04;
  • ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с sudo-привилСгиями;
  • собствСнно Π΄ΠΎΠΌΠ΅Π½;Β 
  • DNS-запись A вашСго Π΄ΠΎΠΌΠ΅Π½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° IPv4-адрСс вашСго ΠΆΠ΅ сСрвСра Π² VscaleΒ (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для подтвСрТдСния владСния; Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ). Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π² силС для ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² (Π²Ρ€ΠΎΠ΄Π΅ www.example.site).

Π¨Π°Π³ 1. Установка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ПО

Обновим Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ индСксы ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ установим ΠΊΠ»ΠΈΠ΅Π½Ρ‚ letsencrypt:

$ sudo apt-get update
$ sudo apt-get install letsencrypt -y

ΠœΡ‹ ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ использования Web-root ΠΏΠ»Π°Π³ΠΈΠ½Π° letsencrypt, ΡΡƒΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Β /.well-knownΒ (ΠΏΡƒΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ корня Π²Π΅Π±-Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ вашСго Π΄ΠΎΠΌΠ΅Π½Π° сСрвСрной Ρ‡Π°ΡΡ‚ΡŒΡŽ ПО Let’s Encrypt.

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π΅Ρ‰Ρ‘ Π½Π΅ Π±Ρ‹Π» установлСн Π²Π΅Π±-сСрвСр Nginx — сдСлайтС это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄:

$ sudo add-apt-repository ppa:nginx/development
$ sudo apt-get update
$ sudo apt-get install nginx -y

Π¨Π°Π³ 2. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ выпуску сСртификата

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Nginx:

$ sudo nano /etc/nginx/sites-available/default

Π²Π½ΡƒΡ‚Ρ€ΠΈ сСрвСрного Π±Π»ΠΎΠΊΠ° (server { …) помСститС Π±Π»ΠΎΠΊ location:

        location ~ /.well-known {
                allow all;
        }

Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, сохранив измСнСния, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Ctrl+X, y, Enter.

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» NginxΒ Π½Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ:

$ sudo nginx -t

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅Β Nginx:

$ sudo service nginx reload

Π¨Π°Π³ 3. Выпуск сСртификата

ЗапуститС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Β letsencrypt с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π’Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (/var/www/html — ΠΊΠΎΡ€Π΅Π½ΡŒ вашСй Π²Π΅Π±-Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ (ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), example.site — Π΄ΠΎΠΌΠ΅Π½):

$ sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d example.site -d www.example.site

ПослС этого Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти e-mail (для получСния ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎΠ± истСчСнии сСртификата, Ссли Π²Ρ‹ Π²Π΄Ρ€ΡƒΠ³ Π½Π΅ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅) ΠΈ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΌ соглашСниСм.

Π˜Ρ‚Π°ΠΊ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ 4 PEM-Ρ„Π°ΠΉΠ»Π°, относящихся ΠΊ сСртификату — ΠΌΠΎΠΆΠ½ΠΎ вывСсти ΠΈΡ… ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (example.site — ваш Π΄ΠΎΠΌΠ΅Π½):

$ sudo ls -l /etc/letsencrypt/live/example.site

Π¨Π°Π³ 4. ГСнСрация ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²Β Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π°

Для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ бСзопасности — cΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° ΠΈ запишСм Π² Ρ„Π°ΠΉΠ» (процСсс Π·Π°ΠΉΠΌΡ‘Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя):

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Π¨Π°Π³ 5. ИзмСнСниС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx:

ΠžΠΏΡΡ‚ΡŒ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Nginx:

$ sudo nano /etc/nginx/sites-available/default

ΠŸΡ€ΠΈΠ²ΠΎΠΆΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚:

server {
listen 80;
listen [::]:80;

server_name example.site;
# Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½Π° HTTPS
return 301 https://$server_name$request_uri;

server_tokens off;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

server_name example.site;

ssl_certificate /etc/letsencrypt/live/example.site/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.site/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# конфигурация Modern
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
# HSTS - форсированно ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ соСдинСниС ΠΏΠΎ HTTPS
add_header Strict-Transport-Security "max-age=15768000";
Β # Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ прикрСплСния OCSP-ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² сСрвСром
ssl_stapling on;
Β # Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ сСрвСром ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² OCSP
ssl_stapling_verify on;

root /var/www/html;
index index.html index.htm index.nginx-debian.html;
# Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹Π΄Π°Ρ‡ΠΈ вСрсии nginx Π² HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ…
server_tokens off;

location / {
try_files $uri $uri/ =404;
}
# для Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Let's Encrypt
location ~ /.well-known {
allow all;
}
}

Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΡ SSL-Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx:Β 

ΠžΠΏΡ‹Ρ‚ установки сСртификата Let’s Encrypt Π½Π° Ubuntu ΠΈ nginx / Вяпк

Let’s Encrypt β€” нСкоммСрчСский Ρ†Π΅Π½Ρ‚Ρ€ сСртификации, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ бСсплатныС криптографичСскиС сСртификаты X.509 для TLS ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (HTTPS). ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π²Ρ‹Π΄Π°Ρ‡ΠΈ сСртификатов ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Certbot. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ Π½Π° 90 Π΄Π½Π΅ΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ процСсс выпуска Π½ΠΎΠ²Ρ‹Ρ… сСртификатов Ρ‚Π°ΠΊΠΆΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½.

Π― Π±Ρ‹ Π½Π°Π·Π²Π°Π» процСсс установки сСртификата с использованиСм certbot ΡΡƒΠΏΠ΅Ρ€Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΌ, Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π΅ трСбуСтся.

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:

  • os: ubuntu 16.04
  • web-server: nginx

ΠŸΡ€ΠΎΡ†Π΅ΡΡ установки

На Π³Π»Π°Π²Π½ΠΎΠΉ страницС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Certbot Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ Π²Π΅Π±-сСрвСр,

ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΠΎ установкС:

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx 

Π£ Certbot Π΅ΡΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Π² Ρ‚ΠΎΠΌ числС для Nginx, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ поддСрТиваСтся Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ установку сСртификатов:

$ sudo certbot --nginx

И Ρ‚ΡƒΡ‚ начинаСтся магия: запускаСтся ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ мастСр установки сСртификата. Он ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ.

  • АдрСс для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ элСктронных писСм.
  • БогласиС с условиями использования
  • БогласиС Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ писСм ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Certbot ΠΈ Electronic Frontier Foundation (ΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒ-ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ Let’s Encrypt)
  • На ΠΊΠ°ΠΊΠΎΠΉ Π΄ΠΎΠΌΠ΅Π½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат?
  • НуТСн Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ с HTTP Π½Π° HTTPS?

БобствСнно всё, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Ρ‚ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ сСртификат

tyapk@host:~$ sudo certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: a

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: y

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: xxxx.ru
2: www.xxxx.ru
3: xxx.icc.ru
4: tyapk.ru
5: www.tyapk.ru
-------------------------------------------------------------------------------

Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for xxxx.ru
Waiting for verification...
Cleaning up challenges
Deployed Certificate to VirtualHost /etc/nginx/sites-enabled/xxxx.conf for set(['www.xxxx.ru', 'xxxx.ru'])

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://xxxx.ru

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=xxxx.ru
-------------------------------------------------------------------------------

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/xxxx.ru/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/xxxx.ru/privkey.pem
   Your cert will expire on 2018-03-24. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

АвтоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Certbot ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ cron, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ автоматичСски ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ ваши сСртификаты Π΄ΠΎ истСчСния срока ΠΈΡ… дСйствия. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ сСртификатов, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

$ sudo certbot renew --dry-run

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ обновлСния ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

tyapk@host:~$ sudo certbot renew --dry-run
[sudo] ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для tyapk:
Saving debug log to /var/log/letsencrypt/letsencrypt.log

-------------------------------------------------------------------------------
Processing /etc/letsencrypt/renewal/xxxx.ru.conf
-------------------------------------------------------------------------------
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
Performing the following challenges:
tls-sni-01 challenge for xxxx.ru
Waiting for verification...
Cleaning up challenges

-------------------------------------------------------------------------------
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/xxxx.ru/fullchain.pem
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/xxxx.ru/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
-------------------------------------------------------------------------------

IMPORTANT NOTES:
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.

ΠšΠ°ΠΊΒ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Nginx ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Let’s Encrypt Π½Π°Β Ubuntu 16.04/18.04

Let’s EncryptΒ β€” Ρ†Π΅Π½Ρ‚Ρ€ сСртификации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт бСсплатно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ TSL/SSL-сСртификат. Благодаря ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Certbot, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски выполняСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ настроСк, Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСртификат ΠΈΒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ HTTPS-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΌΠΎΠΆΠ½ΠΎ за нСсколько простых шагов.

ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°

Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹:

Π­Ρ‚Π°ΠΏ 1. Установка Certbot

CertbotΒ β€” ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для автоматичСского создания и установки SSL-сСртификата. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ постоянно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄Β Π΅Π³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Certbot, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ имССтся в стандартном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ubuntu, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ.


  1. 1.

    Для возмоТности добавлСния PPA Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

    sudo apt-get install software-properties-common



  2. 2.

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Certbot ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

    sudo add-apt-repository ppa:certbot/certbot



  3. 3.

    Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Β ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС:



  4. 4.

    УстановитС Certbot для Nginx ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

    sudo apt install python-certbot-nginx


Π“ΠΎΡ‚ΠΎΠ²ΠΎ, Certbot установлСн.

Π­Ρ‚Π°ΠΏ 2. Настройка Nginx Ubuntu

Certbot автоматичСский ΠΈΡ‰Π΅Ρ‚ Π²Β ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… Nginx Π±Π»ΠΎΠΊ server, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π°Β Π΄ΠΎΠΌΠ΅Π½, для которого Π±ΡƒΠ΄Π΅Ρ‚ установлСн SSL-сСртификат.

Если вы устанавливали Nginx по инструкции ΠšΠ°ΠΊΒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Linux, Nginx, MySQL, PHP (LEMP) Π²Β Ubuntu 16.04/18.04, Ρ‚ΠΎ Π²Ρ‹Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для одного Π΄ΠΎΠΌΠ΅Π½Π°. Π€Π°ΠΉΠ»Ρ‹ вашСго сайта располоТСны Π²Β ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /var/www/html, Π°Β Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ Π²Β Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ server_name ΡƒΠΊΠ°Π·Π°Π½ Π΄ΠΎΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ привязан к сСрвСру.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°:


  1. 1.

    ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

    sudo nano /etc/nginx/sites-available/default



  2. 2.

    Π’Β ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

    server {
    
            listen 80 default_server;
    
            listen [::]:80 default_server;
    
            # SSL configuration
    
            # listen 443 ssl default_server;
    
            # listen [::]:443 ssl default_server;
    
            root /var/www/html;
    
            # Add index.php to the list if you are using PHP
    
            index index.php index.html index.htm index.nginx-debian.html;
    
            server_name faq-reg.ru www.faq-reg.ru;
    
            location / {
    
                    try_files $uri $uri/ =404;
    
            }
    
    }



  3. 3.

    Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Β Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ server_name ΡƒΠΊΠ°Π·Π°Π½ Π΄ΠΎΠΌΠ΅Π½ с и Π±Π΅Π·Β www. Если это Π½Π΅Β Ρ‚Π°ΠΊ, внСситС измСнСния, сохранитС ΠΈΒ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ».



  4. 4.

    Π—Π°Ρ‚Π΅ΠΌ пСрСзапуститС Nginx ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

    sudo systemctl reload nginx


Π“ΠΎΡ‚ΠΎΠ²ΠΎ, вы настроили Nginx.

Π­Ρ‚Π°ΠΏ 3. Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ HTTPS-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

В инструкции ΠšΠ°ΠΊΒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Linux, Nginx, MySQL, PHP (LEMP) Π²Β Ubuntu 16.04/18.04 Π½Π°Β Π²Ρ‚ΠΎΡ€ΠΎΠΌ этапС «Установка NginxΒ» Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ настройки firewall. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ HTTPS-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ для сСрвСра доступно, ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π’Ρ‹Β Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС:




Π­Ρ‚Π°ΠΏ 4. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ SSL-сСртификата

Certbot позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ SSL-сСртификат, Π°Β ΠΏΠ»Π°Π³ΠΈΠ½ для NginxΒ β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ настройку ΠΈΒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Для получСния SSL-сСртификата Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

sudo certbot --nginx -d faq-reg.ru -d www.faq-reg.ru

ΠšΠ»ΡŽΡ‡ -d опрСдСляСт имя Π΄ΠΎΠΌΠ΅Π½Π°, для которого выпускаСтся сСртификат. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ вмСсто Π΄ΠΎΠΌΠ΅Π½Π° faq-reg.ru свой Π΄ΠΎΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ привязан к сСрвСру.

ΠŸΡ€ΠΈΒ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС Certbot систСма запросит ваш e-mail и соглашСниС на использованиС сСрвиса. Π—Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΄ΠΎΠΌΠ΅Π½Π°: DNS-сСрвСры Π΄ΠΎΠΌΠ΅Π½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ на ваш сСрвСр.




Если ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Certbot спросит, ΠΊΠ°ΠΊΒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ HTTPS:

  1. Π‘Π΅Π·Β Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Π°Β β€” нС вносит Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²Β ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
  2. Π Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Β β€” настраиваСт всС Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Ρ‹ для бСзопасного доступа ΠΏΠΎΒ HTTPS. РСкомСндуСтся для новых сайтов.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ подходящий Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ (Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 1 ΠΈΠ»ΠΈΒ 2) ΠΈΒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter:




ПослС окончания установки SSL-сСртификата систСма выдаст сообщСниС, Ρ‡Ρ‚ΠΎ процСсс установки ΠΏΡ€ΠΎΡˆΡ‘Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. В сообщСнии Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Π³Π΄Π΅ располоТСны Ρ„Π°ΠΉΠ»Ρ‹ вашСго сСртификата. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ Let’s Encrypt дСйствитСлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 90 Π΄Π½Π΅ΠΉ. Certbot автоматичСски Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сСртификат. ΠŸΡ€ΠΈΒ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки Π²Ρ‹Β ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС Π½Π°Β e-mail, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΒ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС Certbot.

ΠŸΡ€ΠΈΒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΒ Π²Π°ΡˆΠ΅ΠΌΡƒ Π΄ΠΎΠΌΠ΅Π½Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ соСдинСниС с сайтом Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ΠΎ:




Π“ΠΎΡ‚ΠΎΠ²ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ваш сайт Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½ SSL-сСртификатом Let’s Encrypt. Настройка Π±Ρ‹Π»Π° ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° автоматичСски благодаря Certbot.

Помогла Π»ΠΈ Π²Π°ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡ?

2
Ρ€Π°Π·Π° ΡƒΠΆΠ΅
ΠΏΠΎΠΌΠΎΠ³Π»Π°

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Let’s Encrypt для Nginx Π½Π° Ubuntu 18.04 (с IPv6, HTTP/2 ΠΈ A+ SSL Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ)

НаличиС SSL сСртификата Π½Π° сайтС Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ удивляСт. Π‘ΠΊΠΎΡ€Π΅Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚ отсутствиС «бСзопасного соСдинСния» Π½Π° сайтС. Если Π²Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ SSL, сначала Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΡΡ‚Π°Ρ‚ΡŒΡŽ HTTPS ΠΈ SSL для SEO. ПослС этого возвращаСмся ΠΊ Π΄Π°Π½ΠΎΠΉ инструкции. Π­Ρ‚ΠΎ пошаговоС руководство, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ Let’s Encrypt для Nginx Π½Π° Ubuntu 18.04 с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π½ΠΈΡˆΡ‚ΡΠΊΠ°ΠΌΠΈ.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ хосты

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Ρ‹ first.com ΠΈ second.com Π½Π° сСрвСрС. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΠΈ для своих Ρ„Π°ΠΉΠ»ΠΎΠ²:

mkdir /var/www/first
mkdir /var/www/second

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΒ /etc/nginx/sites-available/first.conf с тСкстом:

server {
	listen 80 default_server;
	listen [::]:80 default_server ipv6only=on;

	server_name first.com www.first.com;
	root /var/www/first;

	index index.html;
	location / {
		try_files $uri $uri/ =404;
	}
}

Аналогично создаСм Ρ„Π°ΠΉΠ» для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°:

server {
	listen 80;
	listen [::]:80;

	server_name second.com www.second.com;
	root /var/www/second;

	index index.html;
	location / {
		try_files $uri $uri/ =404;
	}
}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова default_server ΠΈ ipv6only = on Π² строкС listen.

Π£Π±ΠΈΡ€Π°Π΅ΠΌ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Π΅ настройки nginx:

sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/first.conf /etc/nginx/sites-enabled/first.conf
sudo ln -s /etc/nginx/sites-available/second.conf /etc/nginx/sites-enabled/second.conf

sudo nginx -t #провСряСт ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ NGINX Π½Π° Π½Π°ΠΎΠΈΡ‡ΠΈΠ΅ ошибок
sudo systemctl stop nginx #останавливаСт сСрвис NGINX
sudo systemctl start nginxΒ #запускаСт NGINX с новыми настройками

Если Π½Π΅Ρ‚ ошибок ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, Π·Π½Π°Ρ‡ΠΈΡ‚ всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. На всякий случай, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ статус Nginx ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo systemctl status nginx

Π’ ΠΎΡ‚Π²Π΅Ρ‚ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ настройки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… хостов, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ:

  • http://first.com ΠΈ http://www.first.com Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с ΠΏΠ°ΠΏΠΊΠΈ /var/www/first
  • http://second.com ΠΈ http://www.second.comΠ·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с ΠΏΠ°ΠΏΠΊΠΈ /var/www/second
  • https://www.first.com ΠΈ https://www.second.com Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚

УстанавливаСм Certbot Π½Π° NGINX

Certbot β€” это ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ для Let’s Encrypt, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ SSL сСртификаты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° сайтС:Β https://certbot.eff.org/docs/.

Установка Certbot Π² Ubuntu:

sudo apt-get update
sudo add-apt-repository ppa:certbot/certbot #добавляСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
sudo apt-get update
sudo apt-get install -y python-certbot-nginxΒ #устанавливаСм Certbot

Π”Π°Π»Π΅Π΅ устанавливаСм сСртификаты ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ хосты Π² HTTPS:

sudo certbot --nginx

Π’ интСрфСйсС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки нас попросят:

  • ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹,
  • ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ согласиС с Условиями обслуТивания,
  • ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Ρ‹Β  для использования HTTPS (ΠΎΠ½ опрСдСляСт список, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ строки server_name Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx),
  • ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ HTTP Π½Π° HTTPS (рСкомСндуСтся).

Π—Π΄Π΅ΡΡŒ настройку ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ SSL сСртификаты с Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΎΠΌ A.Β ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свой сайт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSL Labs, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ссылкС https://www.ssllabs.com/ssltest/analyze.html?d=Π”ΠžΠœΠ•Π.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

  • http://first.com Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ Π½Π° https://first.com
  • http://second.com Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ Π½Π° https://second.com
  • http://www.first.com Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ Π½Π° https://www.first.com
  • http://www.second.com Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΡ‚ Π½Π° https://www.second.com
  • https://first.com ΠΈ https://www.first.com Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с ΠΏΠ°ΠΏΠΊΠΈ from /var/www/first
  • https://second.com ΠΈ https://www.first.comΒ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ с ΠΏΠ°ΠΏΠΊΠΈ /var/www/second

АвтоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ сСртификатов Let’s Encrypt

ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ установкС Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ этапС, для автоматичСского обновлСния Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Certbot Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π·Π°Π΄Π°Ρ‡Ρƒ cron для автоматичСского продлСния срока дСйствия сСртификатов. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:

sudo certbot renew --dry-run #ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° продлСния сСртификатов
sudo certbot certificatesΒ #ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Β ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…Β ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΠ²

Настройка HTTP/2 Π½Π° NGINX

ΠžΡΠΎΠ±Π΅Π½ΠΎΡΡ‚ΠΈΡŒΡŽ установки Certbot, Π² нашСм случаС, являСтся автоматичСскоС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ². ΠšΠΎΠ½Ρ„ΠΈΠ³ first.conf Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

server {
	server_name first.com www.first.com;
	root /var/www/first.com;

	index index.html;
	location / {
		try_files $uri $uri/ =404;
	}

	listen [::]:443 ssl ipv6only=on; # managed by Certbot
	listen 443 ssl; # managed by Certbot
	ssl_certificate /etc/letsencrypt/live/first.com/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/first.com/privkey.pem; # managed by Certbot
	include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
	ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
	if ($host = www.first.com) {
		return 301 https://$host$request_uri;
	} # managed by Certbot

	if ($host = first.com) {
		return 301 https://$host$request_uri;
	} # managed by Certbot

	listen 80 default_server;
	listen [::]:80 default_server;

	server_name first.com www.first.com;
	return 404; # managed by Certbot
}

Certbot Π½Π΅ добавлял ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ HTTP / 2, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ создавал Π½ΠΎΠ²Ρ‹Π΅ сСрвСрныС Π±Π»ΠΎΠΊΠΈ, поэтому Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ эти строки:

listen [::]:443 ssl ipv6only=on;
listen 443 ssl;

Π½Π° эти:

listen [::]:443 ssl http2 ipv6only=on;
listen 443 ssl http2;
gzip off;

Π Π΅ΠΉΡ‚ΠΈΠ½Π³ А+ для SSL сСртификатов

Π’ NGINX ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°Ρ… Π½Π°ΡˆΠΈΡ… сайтов содСрТатся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:

ssl_certificate /etc/letsencrypt/live/YOUR-DOMAIN/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/YOUR-DOMAIN/privkey.pem;

Π‘ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ настройки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ OCSP StaplingΒ (сшиваниС OCSP), поэтому ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ хосту Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ΅Π½ ssl_trusted_certificate.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эту строку (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ имя ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Certbot создал для вашСго Π΄ΠΎΠΌΠ΅Π½Π°) послС строки ssl_certificate_key:

ssl_trusted_certificate /etc/letsencrypt/live/YOUR-DOMAIN/chain.pem;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±Ρ‰ΠΈΠ΅ настройки SSL Π² /etc/letsencrypt/options-ssl-nginx.conf. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΎΠ½ΠΈ выглядит Ρ‚Π°ΠΊ:

ssl_session_cache shared:le_nginx_SSL:1m;
ssl_session_timeout 1440m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS";

ЗамСняСм содСрТимоС Ρ„Π°ΠΉΠ»Π° Π½Π°:

ssl_session_cache shared:le_nginx_SSL:1m;
ssl_session_timeout 1d;
ssl_session_tickets off;

ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;

ssl_stapling on;
ssl_stapling_verify on;

add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload;";
add_header Content-Security-Policy "default-src 'none'; frame-ancestors 'none'; script-src 'self'; img-src 'self'; style-src 'self'; base-uri 'self'; form-action 'self';";
add_header Referrer-Policy "no-referrer, strict-origin-when-cross-origin";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

Π’Π΅ΠΏΠ΅Ρ€ΡŒ пСрСзапуститС Nginx ΠΈ снова провСряСм Π΄ΠΎΠΌΠ΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSL Labs. Π”ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ А+. О Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я большС люблю Nginx, Π° Π½Π΅ Apache, Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ‚ΡƒΡ‚:Β NGINX ΠΈΠ»ΠΈ Apache?

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ инструкция ΠΏΠΎ установкС SSL-сСртификата Let’s Encrypt Π½Π° сСрвСр с CMS Bitrix ΠΈ Nginx

Π”Π°, Π½Π° Π₯Π°Π±Ρ€Π΅ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ тСкстов ΠΏΡ€ΠΎ сСртификаты Let’s Encrypt, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ пошаговой инструкции я, ΠΊ соТалСнию, Π½Π΅ Π½Π°ΡˆΡ‘Π». Π₯ΠΎΡ‚Π΅Π» Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π». К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, с мая 2016 Π³ΠΎΠ΄Π° Π² процСссС установки ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ±ΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ»ΠΊΡƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ эту ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. Π’Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ сСбС Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ.

Π­Ρ‚Π° инструкция, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ интСрСсна Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ.


Если Ρƒ вас всС настройки установлСны ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅ ΠΏΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я ΠΏΡ€ΠΈΠ²Ρ‘Π». Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ систСму, ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта Bitrix environment Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС CentOS 6.X. Если ΠΆΠ΅ Π½Π΅Ρ‚, Π²Ρ‹ ΠΈ сами Π·Π½Π°Π΅Ρ‚Π΅ Π³Π΄Π΅ Ρ‡Ρ‚ΠΎ Π»Π΅ΠΆΠΈΡ‚.

Установка

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ git:

# yum install git

Π”Π°Π»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ /tmp:

# cd /tmp

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ git скачиваСм Ρ„Π°ΠΉΠ»Ρ‹ Let’s Encrypt. Π‘Π°ΠΌ скрипт Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ называСтся certbot:

# git clone https://github.com/certbot/certbot

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΡΠΊΠ°Ρ‡Π°Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ:

# cd certbot

На всякий случай, Π΄Π°Π΅ΠΌ ΠΏΡ€Π°Π²Π° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ для Ρ„Π°ΠΉΠ»Π° скрипта:

# chmod a+x ./certbot-auto

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСртификата

Π”Π°Π»Π΅Π΅ слСдуСт ΠΊΠΎΠΌΠ°Π½Π΄Π° нСпосрСдствСнно получСния сСртификата:

# ./certbot-auto certonly --webroot --agree-tos --email [email protected] -w /home/bitrix/www/ -d my-domain.ru -d www.my-domain.ru

—webroot β€” Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ автоматичСская установка для nginx ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°Π΄Π΅ΠΆΠ½Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ этот ΠΊΠ»ΡŽΡ‡;
—agree-tos β€” соглашаСмся с Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½Ρ‹ΠΌ соглашСниСм;
—email [email protected] β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ свой e-mail. Π’ дальнСйшСм ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ для восстановлСния своСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°;
-w /home/bitrix/www β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ сайта;
-d my-domain.ru β€” наш Π΄ΠΎΠΌΠ΅Π½. Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ -d site.my-domain.ru.

ПослС этого скрипт Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. БоглашаСмся ΠΈ ΠΆΠ΄Ρ‘ΠΌ.

Если всё Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ сообщСниС:

IMPORTANT NOTES:

- Congratulations! Your certificate and chain have been saved at

/etc/letsencrypt/live/my-domain.ru/fullchain.pem. Your

cert will expire on 2016-08-21. To obtain a new version of the

certificate in the future, simply run Certbot again.

- If you lose your account credentials, you can recover through

e-mails sent to [email protected].

- Your account credentials have been saved in your Certbot

configuration directory at /etc/letsencrypt. You should make a

secure backup of this folder now. This configuration directory will

also contain certificates and private keys obtained by Certbot so

making regular backups of this folder is ideal.

- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate

Donating to EFF: https://eff.org/donate-le

Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ установлСны, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ nginx’Ρƒ, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ‚.

Настройка

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ssl.conf:

# vim /etc/nginx/bx/conf/ssl.conf

Если Ρƒ вас ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ установлСны сСртификаты, удаляСм ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ строки с Π½ΠΈΠΌΠΈ ΠΈ вставляСм Π½ΠΎΠ²Ρ‹Π΅:

ssl_certificate /etc/letsencrypt/live/my-domain.ru/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/my-domain.ru/privkey.pem;


НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ssl, Ссли этого Π½Π΅ Π±Ρ‹Π»ΠΎ сдСлано Ρ€Π°Π½Π΅Π΅:

ssl on;

keepalive_timeout 70;

keepalive_requests 150;

ssl_session_cache shared:SSL:10m;

ssl_session_timeout 10m;


ПослС этого пСрСзапускаСм nginx:

# service nginx reload

Если ΠΎΠ½ Π½Π΅ Π²Ρ‹Π΄Π°Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ошибок, Π·Π½Π°Ρ‡ΠΈΡ‚ всё Π² порядкС. МоТно Π·Π°ΠΉΡ‚ΠΈ Π½Π° сайт ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

ОбновлСниС

Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ выдаСтся Π½Π° 90 Π΄Π½Π΅ΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ послС этого срока Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ. ДСлаСтся это ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

# certbot-auto renew

Π•Ρ‘ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² cron.

На этом всё. Для составлСния инструкции я использовал ΡΡ‚Π°Ρ‚ΡŒΡŽ Yet another инструкция ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ssl-сСртификата Let’s Encrypt ΠΈ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π³Π°ΠΉΠ΄.

ИспользованиС Let’s Encrypt с NGINX Π² Ubuntu 18.04

ΠžΠ±Π·ΠΎΡ€

Π‘ запуском Let’s Encrypt открылся ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠΈΡ€ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π» Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ свои Π²Π΅Π±-сайты Π»Π΅Π³ΠΊΠΎ ΠΈ Π±Π΅Π· ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Π·Π°Ρ‚Ρ€Π°Ρ‚. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ сСртификат Π΄ΠΎ Let’s Encrypt запускал ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π΅Π±-сайтов нСсколько сотСн Π² Π³ΠΎΠ΄. Π’ этом руководствС Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ бСсплатныС сСртификаты ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс обновлСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Let’s Encrypt с NGINX.

Let’s Encrypt прСдоставляСт инструмСнт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Certbot, Ρ†Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ — ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСртификатами, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот процСсс.Certbot находится Π² PPA, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Let’s Encrypt, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

Установка PPA

Let’s Encrypt ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ubuntu PPA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для упрощСния управлСния сСртификатами. Основной инструмСнт certbot ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ настройки Apache ΠΈ Nginx, Π° Ρ‚Π°ΠΊΠΆΠ΅ для управлСния сСртификатами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Let’s Encrypt PPA Π² Ubuntu, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

 sudo apt-get update
sudo apt-get ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ свойства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния
sudo add-apt-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ всСлСнная
sudo add-apt-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ppa: certbot / certbot 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Certbot ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Nginx, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

 sudo apt-get ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ certbot python-certbot-nginx 

Настройка NGINX ΠΈ запрос сСртификатов

Плагин NGINX для Certbot зарСгистрируСт для вас Π½ΠΎΠ²Ρ‹Π΅ сСртификаты, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ Π²Π°ΡˆΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ NGINX. Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ сайт, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ certbot с Ρ„Π»Π°Π³ΠΎΠΌ –nginx.

 судо certbot --nginx 

Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Ссли адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ зарСгистрирован для хоста.ΠŸΡ€ΠΈ рСгистрации Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя ΠΈΠ»ΠΈ список Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ для добавлСния ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сСртификату.

 Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² /var/log/letsencrypt/letsencrypt.log
 Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹: Authenticator nginx, Installer nginx
 Π’ Π²Π°ΡˆΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½Π° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ свой Π΄ΠΎΠΌΠ΅Π½
 имя (Π°) (Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΈ / ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π») (для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 'c'):
 

Имя (Π°) хоста Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ зарСгистрировано Π² DNS ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒΡΡ. IP-адрСс, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ DNS, Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ IP-адрСсом сСрвСра.Certbot ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ это ΠΏΡ€ΠΈ запросС вашСго сСртификата.

 ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ сСртификата
 Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Ρ‡:
 http-01 Π²Ρ‹Π·ΠΎΠ² для blog2.rigpig.ca
 ОТиданиС подтвСрТдСния…
 УстранСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
 Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ сСртификата Π½Π° VirtualHost / etc / nginx / sites-enabled / default 

Если запросы Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Certbot автоматичСски ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ NGINX ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, конфигурация примСняСтся ΠΊ сайту ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π›ΡŽΠ±Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ сайты Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

 Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅, слСдуСт Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ HTTP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° HTTPS, удаляя HTTP-доступ.
 
 1: Π‘Π΅Π· пСрСнаправлСния - большС Π½Π΅ вноситС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²Π΅Π±-сСрвСра.
 2: ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ - сдСлайтС всС запросы ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ для бСзопасного доступа HTTPS. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ это для
 Π½ΠΎΠ²Ρ‹Π΅ сайты, ΠΈΠ»ΠΈ Ссли Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ ваш сайт Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ HTTPS. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это
 ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ вашСго Π²Π΅Π±-сСрвСра.
 
 Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ [1-2], Π·Π°Ρ‚Π΅ΠΌ [Π²Π²Π΅Π΄ΠΈΡ‚Π΅] (Π½Π°ΠΆΠΌΠΈΡ‚Π΅ 'c' для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹): 2 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ваш сСртификат установлСн, ΠΈ, Ссли Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ NGINX, ваш сСрвСр Π³ΠΎΡ‚ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ TLS.

 ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»Π΅Π½ΠΈΠ΅ 

.

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Let’s Encrypt с Nginx Π² Ubuntu 16.04 ΠΈ Ubuntu 18.04

Π­Ρ‚ΠΎ пошаговая инструкция ΠΏΠΎ установкС Let’s Encrypt SSL с NginX Π½Π° Ubuntu 16.04 ΠΈΠ»ΠΈ Ubuntu 18.04 (ΠΎΠ±Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ популярными вСрсиями LTS). Π― ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… настроСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΄Π΅Π»Π°ΡŽΡ‚ настройку простой ΠΈ ΡƒΠΌΠ½ΠΎΠΉ. Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈΠ·-Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² вСрсиях Ubuntu. Π­Ρ‚ΠΈ Π±Π»ΠΎΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹, поэтому ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° это Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ всС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅.

ВрСбования:

Π’Π°ΠΌ понадобится сСрвСр Ubuntu 16.04 ΠΈΠ»ΠΈ Ubuntu 18.04 с доступом SSH, зарСгистрированноС Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° IP-адрСс вашСго сСрвСра, ΠΈ нСбольшая Ρ‡Π°ΡΡ‚ΡŒ Π·Π½Π°Π½ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ консоль Linux ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° сСрвСрС Ubuntu. Вся установка Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 30 ΠΌΠΈΠ½ΡƒΡ‚.

Π¨Π°Π³ 1. УстановитС LetsEncrypt

ΠŸΠ΅Ρ€Π΅Π΄ установкой Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π²Π°ΠΌ всСгда слСдуСт ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ списка ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ вашС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π±Ρ‹Π»ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ.

sudo apt-get update

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Ubuntu 16.04
  sudo apt-get install software-properties-common python-software-properties
sudo add-apt-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ppa: certbot / certbot
sudo apt-get update  
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Ubuntu 18.04
  sudo apt-get install software-properties-common
sudo add-apt-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ppa: certbot / certbot
sudo apt-get update  

Установка

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ для установки LetsEncrypt Π½Π° ваш сСрвСр:

sudo apt-get install letsencrypt

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° установит Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ letsencrypt, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ certbot ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для установки SSL .

Π¨Π°Π³ 2. НастройтС NginX для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ SSL

Π’ ΠΌΠΎΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя ssl.itsyndicate.org . НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ копипаст. ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСбольшой Π»Π°ΠΉΡ„Ρ…Π°ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс добавлСния Π½ΠΎΠ²Ρ‹Ρ… сСртификатов Π½Π° ваш сСрвСр. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ NginX для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° всСх запросов с Π½Π΅Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ соСдинСниСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ΄ΡƒΡ‚ Π½Π° наш сСрвСр, Π½Π΅-ssl, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ†Π΅Π»Π΅Π½ Π½Π° ΠΏΠΎΡ€Ρ‚ 80.

  сСрвСр {
    ΡΠ»ΡƒΡˆΠ°Π΅ΠΌ 80 default_server;
    имя сСрвСра _;

    location ~ /\.well-known/acme-challenge/ {
        ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ всС;
        ΠΊΠΎΡ€Π΅Π½ΡŒ / Π²Π°Ρ€ / www / letsencrypt;
        try_files $ uri = 404;
        ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ;
    }
}  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /\.well-known/acme-challenge/ для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° всСх запросов ΠΎ мСстополоТСнии ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ / var / www / letsencrypt для размСщСния acme-ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ vhost NginX ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

  судо mkdir -p / var / www / letsencrypt  

ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² настройках NginX всСгда провСряйтС Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

  Π‘ΡƒΠ΄ΠΎ Nginx -t  

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ синтаксис Π² порядкС:

  nginx: Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ / etc / nginx / nginx.conf синтаксис Π² порядкС
nginx: Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/nginx.conf, тСст ΠΏΡ€ΠΎΡˆΠ΅Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ  

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния ΠΊ нашСй Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хоста NginX, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° всСх ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с сСртификатами Let’s Encrypt , Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

sudo service nginx ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ

Π¨Π°Π³ 3. ЗапроситС Π½ΠΎΠ²Ρ‹ΠΉ Let’s Encrypt SSL

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ SSL-сСртификат Let’s Encrypt для нашСго Π΄ΠΎΠΌΠ΅Π½Π°:

  sudo letsencrypt certonly -a webroot --webroot-path = / var / www / letsencrypt -m mail @ example.com --agree-tos -d ssl.itsyndicate.org  

ΠŸΠΎΠ·Π²ΠΎΠ»ΡŒΡ‚Π΅ ΠΌΠ½Π΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² нашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

--webroot-path = / var / www / letsencrypt — здСсь ΠΌΡ‹ настраиваСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ всС запросы. ΠœΡ‹ настроили NginX для обслуТивания этого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

-m [email protected] — с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΎΠΏΡ†ΠΈΠΈ Π²Ρ‹ настраиваСтС свой адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹

--agree-tos — эта опция Π½ΡƒΠΆΠ½Π° Π½Π΅ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ TOS, Π° для ΠΈΡ… принятия.Π­Ρ‚ΠΎ своСго Ρ€ΠΎΠ΄Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ способ установки Let’s Encrypt SSL

-d ssl.itsyndicate.org — этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π΄Π°Ρ‡ΠΈ SSL для ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°

ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ сообщСниС с ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ:

  ВАЖНЫЕ ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π―:
- Если Π²Ρ‹ потСряСтС ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π·
элСктронныС письма, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° [email protected].
- ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Π°Ρˆ сСртификат ΠΈ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° сохранСны Π²
/etc/letsencrypt/live/ssl.itsyndicate.org/fullchain.ΠΏΠ΅ΠΌ. Π’Π°Ρˆ сСртификат
истСкаСт 2018-08-01. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ
сСртификат Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, просто запуститС Let's Encrypt Π΅Ρ‰Π΅ Ρ€Π°Π·.
- Π£Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Π±Ρ‹Π»ΠΈ сохранСны Π² вашСм Let's Encrypt
ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² / etc / letsencrypt. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ
бСзопасноС Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этой ΠΏΠ°ΠΏΠΊΠΈ сСйчас. Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚
Ρ‚Π°ΠΊΠΆΠ΅ содСрТат сСртификаты ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Let's
Π—Π°ΡˆΠΈΡ„Ρ€ΡƒΠΉΡ‚Π΅, поэтому Π΄Π΅Π»Π°Ρ‚ΡŒ рСгулярныС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ этой ΠΏΠ°ΠΏΠΊΠΈ идСально.
- Если Π²Π°ΠΌ нравится Let's Encrypt, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ нашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹:

ΠŸΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ ISRG / Let's Encrypt: https: // letsencrypt.ΠΎΡ€Π³ / ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ
ΠŸΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Π½ΠΈΠ΅ Π² EFF: https://eff.org/donate-le  

Π¨Π°Π³ 4. Настройка NginX vhost

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас установлСн Π½ΠΎΠ²Ρ‹ΠΉ SSL Π½Π° /etc/letsencrypt/live/ssl.itsyndicate.org/ . ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ наш Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ хост NginX для обслуТивания https запросов для ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°. Π’ΠΎΡ‚ ΠΌΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  сСрвСр {
    имя_сСрвСра itsyndicate.org;
    ΡΠ»ΡƒΡˆΠ°ΠΉΡ‚Π΅ 443 ssl;

    ssl Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    ssl_certificate /etc/letsencrypt/live/ssl.itsyndicate.org / fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/ssl.itsyndicate.org/privkey.pem;

    ΠΊΠΎΡ€Π΅Π½ΡŒ / var / www / html /;
    index index.php index.html index.htm;

    location ~ /.well-known {
        ΠΊΠΎΡ€Π΅Π½ΡŒ / Π²Π°Ρ€ / www / letsencrypt;
        ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ всС;
    }
}  

Π”Π°Π²Π°ΠΉΡ‚Π΅ протСстируСм ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ Π½Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ NginX:

  судо nginx -t
sudo service nginx ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ  

Π¨Π°Π³ 5. Настройка автоматичСского продлСния SSL-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Let’s Encrypt

Let’s Encrypt Π²Ρ‹Π΄Π°Π΅Ρ‚ сСртификаты Π½Π° 90 Π΄Π½Π΅ΠΉ.Π£ вас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ элСктронноС письмо ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ваш SSL скоро истСчСт, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ способ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½Ρ‹ΠΉ cron Π½Π° нашСм сСрвСрС Ubuntu для обновлСния нашСго сСртификата SSL. Из-Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚Π° letsencrypt Π² Ubuntu 16.04 ΠΈ Ubuntu 18.04 я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ обновлСния .

ОбновлСниС Ubuntu 16.04 Let’s Encrypt

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ„Π°ΠΉΠ» /etc/cron.daily/letsencrypt для установки cron со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

  #! / Bin / bash
/ usr / bin / letsencrypt ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ && / etc / init.ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° d / nginx  
ОбновлСниС Ubuntu 18.04 Let’s Encrypt

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» Β« /etc/cron.daily/letsencrypt Β», Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ содСрТаниСм:

  #! / Bin / bash
/ usr / bin / letsencrypt Renew --renew-hook "/etc/init.d/nginx reload"  

Π¨Π°Π³ 6 — ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ SSL

Когда ΠΌΡ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈ настройку, ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя

возьми Ρ‡Π°ΡˆΠΊΡƒ ΠΊΠΎΡ„Π΅ ΠΈ Ρ€Π°ΡΡΠ»Π°Π±ΡŒΡΡ
протСстируСм Π½Π°ΡˆΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ. Π•ΡΡ‚ΡŒ дСсятки Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² для тСстирования SSL, Π½ΠΎ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ — curl :

.

  curl -vI https: // ssl.itsyndicate.org

* Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ сСрвСра:
* Ρ‚Π΅ΠΌΠ°: CN = ssl.itsyndicate.org
* Π”Π°Ρ‚Π° Π½Π°Ρ‡Π°Π»Π°: 3 мая, 15:44:12 2018 Π³ ..
* Π”Π°Ρ‚Π° истСчСния: 1 августа 15:44:12 2018 ΠΏΠΎ Π“Ρ€ΠΈΠ½Π²ΠΈΡ‡Ρƒ
* subjectAltName: хост "ssl.itsyndicate.org" соотвСтствуСт сСртификату "ssl.itsyndicate.org"
* эмитСнт: C = US; O = Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ; CN = Let's Encrypt Authority X3
* ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ сСртификат SSL Π² порядкС.  

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ свой сайт Π² Google Chrome ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сСртификат SSL Π² инструмСнтС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ бСзопасности:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Let’s Encrypt SSL Π½Π° Ubuntu 16.04 ΠΈΠ»ΠΈ Ubuntu 18.04 для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ вашСго сайта. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ простоС, ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΈ дСшСвоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ вашСго сайта ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ вашСго SEO-Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π°. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° всСгда ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ!

.

Настройка SSL с Lets Encrypt Π½Π° Ubuntu ΠΈ Nginx

Let’s Encrypt Π½Π΅Π΄Π°Π²Π½ΠΎ Π²Ρ‹ΡˆΠ»Π° Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΡƒΡŽ Π±Π΅Ρ‚Π°-Π²Π΅Ρ€ΡΠΈΡŽ. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Let’s Encrypt?

Let’s Encrypt — это бСсплатный, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ†Π΅Π½Ρ‚Ρ€ сСртификации (Π¦Π‘), Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Π±Π»Π°Π³ΠΎ общСства. Let’s Encrypt — это услуга, прСдоставляСмая ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Internet Security Research Group (ISRG).

Π˜Ρ‚Π°ΠΊ, Π² основном бСсплатный https. Π£Ρ€Π°! πŸ™Œ

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Nginx.

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

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

Если Ρƒ вас Π½Π΅ установлСн git , ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ apt-get .

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Nginx
  sudo service nginx stop
  
Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° автоматичСской настройки для Nginx Π΅Ρ‰Π΅ Π½Π΅ настроСна (Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ скоро!), ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ letsencrypt-auto , Ρ‡Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»ΠΎΠΌ, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ шаги Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ТСсткий.ЗапуститС это:

  ./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory auth
  

Π­Ρ‚ΠΎ запускаСт симпатичный интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Π°ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ условия ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΉ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ мусор. ΠŸΡ€ΠΈΠΌΠΈΡ‚Π΅ это ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ свой Π΄ΠΎΠΌΠ΅Π½ (-Π°), ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π²Π°ΠΌ скаТСт. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ с ΠΈ Π±Π΅Π· www , Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ½ сообщит Π²Π°ΠΌ, Π³Π΄Π΅ хранятся ваши сСртификаты, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ:

  / etc / letsencrypt / live / www.yourdomain.com/
  

Π’ этом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄Π²Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½Ρ‹: fullchain.pem ΠΈ privkey.pem , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΈΠΆΠ΅.

ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сСртификаты Π² Nginx

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SSL ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π³Π΄Π΅ находятся сСртификаты. Π’Π°ΡˆΠ° конфигурация nginx Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Π² /etc/nginx/nginx.conf , Π»ΠΈΠ±ΠΎ Π²ΠΎ внСшнСм Ρ„Π°ΠΉΠ»Π΅ Π² / etc / nginx / sites-enabled / . Мой Π±Ρ‹Π» Π½Π° сайтах с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ghost (e.Π³. / etc / nginx / sites-enabled / ghost ).

Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚ 443

Π’ Π±Π»ΠΎΠΊΠ΅ сСрвСра для вашСго сайта настройтС Π΅Π³ΠΎ Π½Π° ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Π° 443:

  сСрвСр {
    ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ 443 default_server; # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡ€Ρ‚ 80
    ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ [::]: 443 default_server ipv6only = on;

    #Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ
}
  

ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ipv6 Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ.

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ SSL

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ SSL ΠΈ сообщитС Π΅ΠΌΡƒ, Π³Π΄Π΅ находятся ваши сСртификаты. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ это Π² любоС мСсто Π² Π±Π»ΠΎΠΊΠ΅ server :

  сСрвСр {
    ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ 443 default_server;
    ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ [::]: 443 default_server ipv6only = on;

    ssl Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    ssl_certificate / etc / letsencrypt / live / www.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.yourdomain.com/privkey.pem;

    #Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π΅Ρ‰ΠΈ
}
  
ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ с 80 Π½Π° 443

Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ рСкомСндуСтся). Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пСрСходят Π½Π° http , пСрСходят Π½Π° https . НастройтС Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±Π»ΠΎΠΊ сСрвСра (Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Π±Π»ΠΎΠΊΠ° сСрвСра вашСго сайта), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 80 ΠΈ пСрСнаправляСт Π½Π° 443:

  сСрвСр {
    # ваш ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ сСрвСра
}

server {
    ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ 80;
    server_name yourdomain.(. *) $ https: //yourdomain.com$1 постоянно;
    }
}
  

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° 100% Π² своих способностях Π½Π°Π±ΠΎΡ€Π° тСкста (Π° я Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½), Π»ΡƒΡ‡ΡˆΠ΅ всСго Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая сообщаСт Nginx ΠΎ нСобходимости Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°. Если это Π½Π΅ Ρ‚Π°ΠΊ, ΠΎΠ½ скаТСт Π²Π°ΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ:

  nginx -c /etc/nginx/nginx.conf -t
  

Π£ мСня ΠΏΡ€ΠΎΠΏΠ°Π» ; , Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΎ мСня ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° 37 сСкунд.

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Nginx

  sudo service nginx start
  

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой сайт

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° https://yourdomain.com ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ Π½ΠΎΠ²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ.

Вопросы?

ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ!

.Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

— докумСнтация Certbot 1.8.0.dev0

Certbot ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ (Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹Ρ…
ΠΊΠ°ΠΊ Β«ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹Β») для запроса ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСйствий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ
ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π² сСртификатов. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅
ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π² этом
Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚; ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ список Ρ‚Π°ΠΊΠΆΠ΅ появляСтся Π² ΠΊΠΎΠ½Ρ†Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ certbot Π½Π° вашСм Π²Π΅Π±-сСрвСрС ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ letsencrypt , Ссли ваша систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ старый ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΈΠ»ΠΈ certbot-auto , Ссли Π²Ρ‹ использовали Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ установки.Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ certbot , ΠΏΡ€ΠΈ нСобходимости Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ имя.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ Certbot ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для
ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ установка сСртификатов: Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ инсталляторы.

Authenticators — это ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ certonly для получСния сСртификата.
АутСнтификатор ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹
ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½ (Ρ‹), для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ сСртификат, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сСртификат для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ
Π΄ΠΎΠΌΠ΅Π½Π° (ΠΎΠ²) ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ сСртификат Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ / etc / letsencrypt Π½Π° вашСм
машина.АутСнтификатор Π½Π΅ устанавливаСт сСртификат (ΠΎΠ½ Π½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСго сСрвСра для обслуТивания
ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ сСртификат). Если Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ нСсколько Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚
всС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ пСрСчислСны Π² ΠΎΠ΄Π½ΠΎΠΌ сСртификатС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ нСсколько ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сСртификатов
Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Certbot нСсколько Ρ€Π°Π·.

Установщики

— это ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ install для установки сСртификата.
Π­Ρ‚ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ вашСго Π²Π΅Π±-сСрвСра Π½Π°
ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ваш сайт Ρ‡Π΅Ρ€Π΅Π· HTTPS, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сСртификаты, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ certbot.

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹

, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ certbot run , которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°. Подкоманда run Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для указания
комбинация Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈ установщика.

Плагин Auth Inst Π‘Π°Π½ΠΊΠ½ΠΎΡ‚Ρ‹ Π’ΠΈΠΏΡ‹ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² (ΠΈ ΠΏΠΎΡ€Ρ‚)
apache Y Y

АвтоматизируСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ установку сСртификата с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Apache.

http-01 (80)
nginx Y Y

АвтоматизируСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ установку сСртификата с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Nginx.

http-01 (80)
Π²Π΅Π±-ΠΊΠΎΡ€Π΅Π½ΡŒ Y N

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сСртификат ΠΏΡƒΡ‚Π΅ΠΌ записи Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π²Π΅Π±-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³

ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ Π²Π΅Π±-сСрвСр.

http-01 (80)
Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ Y N

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Β«Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉΒ» Π²Π΅Π±-сСрвСр для получСния сСртификата.

ВрСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» доступСн ΠΏΠΎΡ€Ρ‚ 80. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°

БистСмы

Π±Π΅Π· Π²Π΅Π±-сСрвСра ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ прямой ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с

Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±-сСрвСр Π½Π΅ поддСрТиваСтся ΠΈΠ»ΠΈ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»Π΅Π½.

http-01 (80)
ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ DNS Y N

Π­Ρ‚Π° катСгория ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСртификата ΠΏΠΎ

ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ записСй DNS, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅

Π΄ΠΎΠΌΠ΅Π½. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΎΠΌΠ΅Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ —

СдинствСнный способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²Ρ‹Π΅ сСртификаты ΠΎΡ‚ Let’s

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅.

днс-01 (53)
инструкция Y N

ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат, давая инструкции Π½Π° Π½ΠΎΠΌΠ΅Ρ€

Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄ΠΎΠΌΠ΅Π½Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ позволяСт

, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сцСнарии для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²

ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ.

http-01 (80) ΠΈΠ»ΠΈ
dns-01 (53)

Под ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ACME для
Π΄ΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π΄ΠΎΠΌΠ΅Π½.Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹: http-01 (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 80).
ΠΈ dns-01 (трСбуСтся настройка DNS-сСрвСра Π½Π°
ΠΏΠΎΡ€Ρ‚ 53, хотя часто это Π½Π΅ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ρ‡Ρ‚ΠΎ ΠΈ ваш Π²Π΅Π±-сСрвСр). НСмного
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ Π² этом случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½
с --preferred-calls .

Π’Π°ΠΊΠΆΠ΅ доступно мноТСство сторонних ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². НиТС ΠΌΡ‹ опишСм Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ
ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, ΠΈ способы Π΅Π³ΠΎ использования.

Apache

Плагин Apache Π² настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
соврСмСнныС ОБ Π½Π° Π±Π°Π·Π΅ Debian, Fedora, SUSE, Gentoo ΠΈ Darwin.Π­Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ сСртификатов ΠΈ ΠΏΡ€ΠΈ установкС Π½Π° Apache.
Π²Π΅Π± сСрвСр. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ этот ΠΏΠ»Π°Π³ΠΈΠ½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, просто Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅
--apache .

Webroot

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±-сСрвСр, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ обслуТиваСмый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΈ Π²Ρ‹ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π»ΠΈ Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ
Π²Π΅Π±-сСрвСр Π²ΠΎ врСмя процСсса Π²Ρ‹Π΄Π°Ρ‡ΠΈ сСртификата, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-сСрвСр
ΠΏΠ»Π°Π³ΠΈΠ½ для получСния сСртификата, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² certonly ΠΈ --webroot Π²
командная строка.ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ --webroot-path
ΠΈΠ»ΠΈ -w с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня (Β«Π²Π΅Π±-ΠΊΠΎΡ€Π΅Π½ΡŒΒ»), содСрТащим Ρ„Π°ΠΉΠ»Ρ‹
обслуТиваСтся вашим Π²Π΅Π±-сСрвСром. НапримСр, --webroot-path / var / www / html
ΠΈΠ»ΠΈ --webroot-path / usr / share / nginx / html — Π΄Π²Π° ΠΎΠ±Ρ‰ΠΈΡ… ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ Π²Π΅Π±-ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ.

Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сСртификат сразу для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², ΠΏΠ»Π°Π³ΠΈΠ½
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚
ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°.ΠŸΡ€ΠΈ запросС
сСртификат для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ самый послСдний
ΡƒΠΊΠ°Π·Π°Π½ΠΎ --webroot-path . Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

 certbot certonly --webroot -w / var / www / example -d www.example.com -d example.com -w / var / www / other -d other.example.net -d another.other.example.net
 

ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ сСртификат для всСх этих ΠΈΠΌΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ
/ var / www / example ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΈ
/ var / www / other для Π²Ρ‚ΠΎΡ€Ρ‹Ρ… Π΄Π²ΡƒΡ….

Плагин webroot Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, создавая Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹Ρ… Π²Π°ΠΌΠΈ
Π΄ΠΎΠΌΠ΅Π½Ρ‹ Π² $ {webroot-path} /. well-known / acme-challenge . Π’ΠΎΠ³Π΄Π° Let’s Encrypt
сСрвСр ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ HTTP-запросы для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ DNS для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ
Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π° сСрвСр, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΏΡƒΡ‰Π΅Π½ certbot. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса
Π½Π° ваш Π²Π΅Π±-сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

 66.133.109.36 - - [05 / Π―Π½Π² / 2016: 20: 11: 24 -0500] "GET /.well-known/acme-challenge/HGr8U1IeTW4kY_Z6UIyaakzOkyQgPr_7ArlLgtZE8SX HTTP / 1.1 "200 87" - "" Mozilla / 5.0 (совмСстимый; сСрвСр ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Let's Encrypt; + https: //www.letsencrypt.org) "
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для использования ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ модуля webroot ваш сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ настроСн для обслуТивания
Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· скрытых ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Если /. well-known лСчится ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ
конфигурация вашСго Π²Π΅Π±-сСрвСра, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ
Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ /.well-known/acme-challenge ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ
Π²Π΅Π±-сСрвСр.

Nginx

Плагин Nginx Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ.ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию
ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Nginx ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ использованиСм (хотя Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ измСнСния Π²
ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с certbot --nginx rollback ). Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, прСдоставив
Ρ„Π»Π°Π³ --nginx Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

Автономный

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат, Ссли Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ (ΠΈΠ»ΠΈ Π² настоящСС врСмя Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅)
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сСрвСрноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Автономный ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π΅ полагаСтся Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ Π½Π° машинС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ сСртификат.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Β«Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎΒ» Π²Π΅Π±-сСрвСра, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ certonly ΠΈ - standalone
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π­Ρ‚ΠΎΡ‚ ΠΏΠ»Π°Π³ΠΈΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ 80 Π²
Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΄ΠΎΠΌΠ΅Π½Π°, поэтому Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Π΅Π±-сСрвСр.

На вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ входящиС соСдинСния ΠΎΡ‚
Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Certbot сначала пытаСтся ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ для всСх интСрфСйсов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ
IPv6 с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ привязкой ΠΊ этому ΠΏΠΎΡ€Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ IPv4; Certbot Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π°
ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΎΠ΄Π½Π° привязка Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Linux Ρ‚Ρ€Π°Ρ„ΠΈΠΊ IPv4 Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π½Π°
связанный ΠΏΠΎΡ€Ρ‚ IPv6 ΠΈ оТидаСтся сбой Π²ΠΎ врСмя Π²Ρ‚ΠΎΡ€ΠΎΠΉ привязки.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ - -address , Ρ‡Ρ‚ΠΎΠ±Ρ‹ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Certbot, ΠΊΠ°ΠΊΠΎΠΉ интСрфСйс
(ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ») для привязки.

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ DNS

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΠΎΠΉ сСртификат ΠΎΡ‚ Let’s Encrypt ΠΈΠ»ΠΈ запуститС
certbot Π½Π° машинС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ вашСго Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Π±-сСрвСра, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ·
ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ Certbot для DNS.

Π­Ρ‚ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Π½Π΅ входят Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ установку Certbot ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ
устанавливаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.Π₯отя ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ DNS Π² настоящСС врСмя Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ с
certbot-auto , ΠΎΠ½ΠΈ доступны Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ОБ, ΠΊΠ°ΠΊ Docker
изобраТСния ΠΈ снимки. ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅ https://certbot.eff.org, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ DNS Π² вашСй систСмС.

ПослС установки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ использованию ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΏΠΎ адрСсу:

Руководство

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификат, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ certbot Π½Π° машинС
ΠΊΡ€ΠΎΠΌΠ΅ вашСго Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Π±-сСрвСра ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ дСйствия для Π΄ΠΎΠΌΠ΅Π½Π°
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½.Пока спрятан ΠΎΡ‚
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ для получСния сСртификата, ΡƒΠΊΠ°Π·Π°Π²
certonly ΠΈ - Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ вас
для копирования ΠΈ вставки ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСанс Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚
Π±Ρ‹Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Плагин руководства ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² http ΠΈΠ»ΠΈ dns . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ --preferred-calls
Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² ΠΏΠΎ своСму вкусу.

Π—Π°Π΄Π°Ρ‡Π° http попросит вас ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ
ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ содСрТаниС Π² /.ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ well-known / acme-challenge / Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня (Β«Π²Π΅Π±-ΠΊΠΎΡ€Π΅Π½ΡŒΒ»), содСрТащСм Ρ„Π°ΠΉΠ»Ρ‹, обслуТиваСмыС вашим
Π²Π΅Π± сСрвСр. По сути, это Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ webroot, Π½ΠΎ Π½Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.

ΠŸΡ€ΠΈ использовании Π·Π°Π΄Π°Ρ‡ΠΈ dns certbot попросит вас Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ TXT DNS
запись с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ содСрТаниСм ΠΏΠΎΠ΄ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, состоящим ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ хоста
для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π΄Π°Ρ‚ΡŒ сСртификат с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ _acme-challenge .

НапримСр, для Π΄ΠΎΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€.com , запись Π² Ρ„Π°ΠΉΠ»Π΅ Π·ΠΎΠ½Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

 _acme-challenge.example.com. 300 IN TXT "gfj9Xq ... Rg85nM"
 

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сцСнарии для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΈ
Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ / ΠΈΠ»ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ послС Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ
Ρ„Π»Π°Π³ΠΈ --manual-auth-hook ΠΈ --manual-cleanup-hook . Π­Ρ‚ΠΎ
Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Ρ…ΡƒΠΊΠΎΠ².

ОбъСдинСниС плагинов

Иногда ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈ
ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ установщика.Для этого ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
--authenticator ΠΈΠ»ΠΈ -a ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ установщика с --installer ΠΈΠ»ΠΈ
-i .

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСртификат с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° webroot
для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ apache для установки.

 certbot run -a webroot -i apache -w / var / www / html -d example.com
 

Или Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСртификат, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ nginx для установки.(ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ этот сСртификат Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚
ΠΏΡ€ΠΎΠ΄Π»Π΅Π²Π°Ρ‚ΡŒΡΡ автоматичСски.)

 certbot run -a manual -i nginx -d example.com
 

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ряд сторонних ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, прСдоставляСмых
Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ. МногиС ΠΈΠ· Π½ΠΈΡ… находятся Π² стадии Π±Π΅Ρ‚Π°-тСстирования, Π½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ находятся Π²
ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ использованиС:

Плагин Auth Inst Π‘Π°Π½ΠΊΠ½ΠΎΡ‚Ρ‹
haproxy Y Y Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с балансировщиком Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ HAProxy
s3 пСрСдняя Y Y Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с Amazon CloudFront распространСниС ΠΊΠΎΡ€Π·ΠΈΠ½ S3
Π“Π°Π½Π΄ΠΈ Y N ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификаты Ρ‡Π΅Ρ€Π΅Π· Gandi LiveDNS API
Π»Π°ΠΊ Y N ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификаты Ρ‡Π΅Ρ€Π΅Π· сСрвСр Varnish
внСшняя авторизация Y Y Плагин для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ написания скриптов
ΠΏΡ€ΠΈΡ‚ΡƒΠ½Π» N Y Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСртификаты Π² ΠΏΡ€ΠΈΡ‚ΡƒΠ½Π» распрСдСлСнных сСрвСрах OpenVPN
proxmox N Y Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сСртификаты Π½Π° сСрвСрах Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Proxmox
dns-Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ Y N ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСртификаты Ρ‡Π΅Ρ€Π΅Π· встроСнный DNS-сСрвСр
dns-ispconfig Y N DNS-аутСнтификация с использованиСм ISPConfig Π² качСствС DNS-сСрвСра
DNS-ΠΎΠ±Π»Π°ΠΊΠΎ DNS Y N DNS-аутСнтификация с использованиСм CloudDNS API
dns-Π²Ρ…ΠΎΠ΄ wx Y Y DNS-аутСнтификация для INWX Ρ‡Π΅Ρ€Π΅Π· XML API

Если Π²Π°ΠΌ интСрСсно, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой собствСнный ΠΏΠ»Π°Π³ΠΈΠ½.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список сСртификатов, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π½Π°Π΅Ρ‚ Certbot, запуститС
сСртификатов ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π°:

сСртификаты certbot

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

 ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ сСртификаты:
  Имя сСртификата: example.com
    Π”ΠΎΠΌΠ΅Π½Ρ‹: example.com, www.example.com
    Π‘Ρ€ΠΎΠΊ дСйствия: 2017-02-19 19: 53: 00 + 00: 00 (Π”Π•Π™Π‘Π’Π’Π˜Π’Π•Π›Π¬ΠΠž: 30 Π΄Π½Π΅ΠΉ)
    ΠŸΡƒΡ‚ΡŒ ΠΊ сСртификату: /etc/letsencrypt/live/example.com/fullchain.pem
    ΠŸΡƒΡ‚ΡŒ ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ: / etc / letsencrypt / live / example.com / privkey.pem
 

Имя сСртификата ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ имя сСртификата. ΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ это имя
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π»Π°Π³ --cert-name , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ сСртификат для запуска ,
certonly , сСртификаты , ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

 certbot certonly --cert-name example.com
 

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ созданиС ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… сСртификатов

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для запроса
созданиС Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ сСртификата, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΠ· Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½.

Если сСртификат Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ с запуском ΠΈΠ»ΠΈ Certonly с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ
имя сСртификата, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ сущСствуСт, Certbot обновляСт
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½ΠΎΠ²Ρ‹ΠΉ сСртификат
создаСтся ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ имя.

- ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ , - Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ - Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²
ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Certbot ΠΏΡ€ΠΈ воссоздании
сСртификат с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат.
Если Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Certbot ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ вас, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ.

--force-Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ сообщаСт Certbot Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ сСртификат
с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½
Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· -d . Π’ случаС успСха этот сСртификат
сохраняСтся вмСстС с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈ символичСскими ссылками (Β« live Β»
ссылка) Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ сСртификат. Π­Ρ‚ΠΎ
Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ способ продлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ физичСского Π»ΠΈΡ†Π°
сСртификат.

--duplicate сообщаСт Certbot ΠΎ нСобходимости создания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ нСсвязанного сСртификата
с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат.Π­Ρ‚ΠΎΡ‚ сСртификат
сохранСны ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚
Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… условиях.

--expand ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Certbot ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат Π½ΠΎΠ²Ρ‹ΠΌ
сСртификат, содСрТащий всС старыС Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…
Π½ΠΎΠ²Ρ‹Π΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹. Π‘ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ --expand ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -d , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ
всС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

 certbot --expand -d ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.com, example.com, newdomain.com
 

ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 certbot --expand -d existing.com -d example.com -d newdomain.com
 

РассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования --cert-name вмСсто --expand , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π΄Π°Π΅Ρ‚ большС контроля
ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ сСртификат, ΠΈ ΠΎΠ½ позволяСт ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ….

--allow-subset-of-names сообщаСт Certbot ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ созданиС сСртификата, Ссли
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΉ.Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚
Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΌΠ΅Π½Ρ‹, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² сСртификатС, большС Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° этот
систСма.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ сСртификат Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠ· этих способов, Π½ΠΎΠ²Ρ‹ΠΉ
сСртификат сущСствуСт вмСстС с Π»ΡŽΠ±Ρ‹ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ сСртификатами, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ,
ΠΈΠ»ΠΈ Π½Π΅Ρ‚ истСк срок дСйствия ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… сСртификатов. ПоколСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ
сСртификат учитываСтся ΠΏΠΎ нСскольким ограничСниям скорости, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для прСдотвращСния
Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ ACME, ΠΊΠ°ΠΊ описано
Π’ΠΎΡ‚.

ИзмСнСниС Π΄ΠΎΠΌΠ΅Π½Π° сСртификата

Π€Π»Π°Π³ --cert-name Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для измСнСния Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², содСрТащихся Π² сСртификатС,
ΠΏΡƒΡ‚Π΅ΠΌ указания Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° -d ΠΈΠ»ΠΈ --domains .Если сСртификат example.com
Ρ€Π°Π½Π΅Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π»ΠΎΡΡŒ example.com ΠΈ www.example.com , Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°
ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ example.com , ΡƒΠΊΠ°Π·Π°Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ example.com с Ρ„Π»Π°Π³ΠΎΠΌ -d ΠΈΠ»ΠΈ --domains . ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

 certbot certonly --cert-name example.com -d example.com
 

Π’ΠΎΡ‚ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², содСрТащихся Π² сСртификатС, ΠΈΠ»ΠΈ для
ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот Π½Π°Π±ΠΎΡ€:

 certbot certonly --cert-name example.com -d example.org, www.example.org
 

ΠžΡ‚Π·Ρ‹Π² сСртификатов

Если ΠΊΠ»ΡŽΡ‡ вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Π±Ρ‹Π» Π²Π·Π»ΠΎΠΌΠ°Π½ ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΎΠ·Π²Π°Ρ‚ΡŒ сСртификат ΠΏΠΎ ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ,
для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ revoke . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° revoke ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ сСртификата
(оканчиваСтся Π½Π° cert.pem ), Π° Π½Π΅ Π½Π° имя сСртификата ΠΈΠ»ΠΈ Π΄ΠΎΠΌΠ΅Π½. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

 certbot revoke --cert-path /etc/letsencrypt/live/CERTNAME/cert.pem
 

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΎΡ‚Π·Ρ‹Π²Π° сСртификата с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° cause .ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π½Π΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ keycompromise ,
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ , Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΠΈ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° :

 certbot revoke --cert-path /etc/letsencrypt/live/CERTNAME/cert.pem --reason keycompromise
 

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли сСртификат
это тСстовый сСртификат, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° --staging ΠΈΠ»ΠΈ --test-cert , этот Ρ„Π»Π°Π³ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π²
ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ .ПослС ΠΎΡ‚Π·Ρ‹Π²Π° сСртификата (ΠΈΠ»ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ управлСния сСртификатами) всС сСртификаты
ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ delete :

 certbot delete --cert-name example.com
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Если Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ delete для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ удалСния сСртификата, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠžΡ‚Π·Ρ‹Π² сСртификата Π½Π΅ повлияСт Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, установлСнноС сСрвСром Let’s Encrypt.

ΠŸΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ сСртификатов

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Let’s Encrypt CA Π²Ρ‹Π΄Π°Π΅Ρ‚ краткосрочныС сСртификаты (90
Π΄Π½Π΅ΠΉ). Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ обновляСтС сСртификаты хотя Π±Ρ‹ Ρ€Π°Π· Π² 3
мСсяцы.

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

МногиС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ certbot, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π·
Ρ€Π°Π·Π΄Π°Ρ‡Π° ΠΈΠ΄Π΅Ρ‚ с автоматичСским ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ,
Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ вСрсии Debian ΠΈ Ubuntu, установлСнныС Ρ‡Π΅Ρ€Π΅Π· apt ,
CentOS / RHEL 7 Ρ‡Π΅Ρ€Π΅Π· EPEL ΠΈ Ρ‚. Π”. Π‘ΠΌ. АвтоматичСскоС ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅
Π‘ΠΎΠ»ΡŒΡˆΠ΅ подробностСй.

Начиная с вСрсии 0.10.0, Certbot ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ дСйствиС , ΠΏΡ€ΠΎΠ΄Π»ΠΈΡ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
всС установлСнныС сСртификаты для ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎΡΡ истСчСния срока дСйствия ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΄Π»ΠΈΡ‚ΡŒ
ΠΈΡ…. Бамая простая Ρ„ΠΎΡ€ΠΌΠ° — это просто

.

certbot ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° пытаСтся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сСртификаты,
истСкаСт ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· 30 Π΄Π½Π΅ΠΉ. Π’ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались
Π²ΠΎ врСмя ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π΄Π°Ρ‡ΠΈ сСртификата Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для
ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° продлСния, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Certonly , ΠΏΡ€ΠΎΠ΄Π»ΠΈΡ‚ΡŒ дСйствуСт Π½Π°
нСсколько сСртификатов ΠΈ всСгда ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚, Π΅ΡΡ‚ΡŒ Π»ΠΈ рядом
истСчСниС срока.По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Renew ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ (ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½) для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ использования,
Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша систСма ΠΌΠΎΠ³Π»Π° автоматичСски ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСртификат, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.
ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ обновляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ обновляСт сСртификаты, срок дСйствия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Π»ΠΈΠ·ΠΎΠΊ, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ
запускайтС сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ часто, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий Π½Π΅ прСдпринимаСтся.

Команда refresh Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ для запуска ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ скриптов Π΄ΠΎ ΠΈΠ»ΠΈ послС сСртификата.
Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ. НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ сСртификат, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Π±-сСрвСр
ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ автономная вСрсия ΠΌΠΎΠ³Π»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ ΠΏΠΎΡ€Ρ‚Π°ΠΌ, ΠΈ
Π·Π°Ρ‚Π΅ΠΌ пСрСзапуститС Π΅Π³ΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ.ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

 certbot refresh --pre-hook "service nginx stop" --post-hook "service nginx start"
 

Если Π»ΠΎΠ²ΡƒΡˆΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ с Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π° ошибка
Π½Π° stderr , Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° продлСния. НСудачный ΠΊΡ€ΡŽΡ‡ΠΎΠΊ
Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ нСпосрСдствСнного Π²Ρ‹Ρ…ΠΎΠ΄Π° Certbot с Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π°, Π½ΠΎ
ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Certbot Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠΈ,
Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ сбои ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, косвСнно ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ
Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄Π°. Π₯ΡƒΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли трСбуСтся сСртификат для
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ часто Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π±Π΅Π·
излишняя остановка вашСго Π²Π΅Π±-сСрвСра.

Когда Certbot ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСртификат ΠΏΠΎΠ΄Π»Π΅ΠΆΠΈΡ‚ обновлСнию, --pre-hook
ΠΈ --post-hook ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π΄ΠΎ ΠΈ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π΅Π³ΠΎ обновлСния.
Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваш Ρ…ΡƒΠΊ запускался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ обновлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅
--deploy-hook Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

certbot ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ --deploy-hook / path / to / deploy-hook-script

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, помСстив Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Certbot
ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, Ρ‡Ρ‚ΠΎ ваш ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ
/ etc / letsencrypt , Π»ΡŽΠ±Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹, Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ Π²
/ ΠΈ Ρ‚.Π΄. / letsencrypt / Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅-ΠΊΡ€ΡŽΡ‡ΠΊΠΈ / Π΄ΠΎ ,
/ etc / letsencrypt / Renewal-hooks / deploy ΠΈ
/ etc / letsencrypt / Renewal-hooks / post Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π΄ΠΎ, развСртывания ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ
ΠΊΡ€ΡŽΡ‡ΠΊΠΈ соотвСтствСнно, ΠΊΠΎΠ³Π΄Π° любой сСртификат обновляСтся с Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ
ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π°.Π­Ρ‚ΠΈ Ρ…ΡƒΠΊΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС ΠΈ Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ для Π΄Ρ€ΡƒΠ³ΠΈΡ…
ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. (ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ запуска Ρ…ΡƒΠΊΠΎΠ² опрСдСляСтся Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ
символов Π² ΠΈΡ… ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π½Π΅ зависит ΠΎΡ‚ вашСй Π»ΠΎΠΊΠ°Π»ΠΈ.)

Π₯ΡƒΠΊΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ обновлСния, ΡΠ²Π»ΡΡŽΡ‚ΡΡ
запускаСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ послС запуска всСх Ρ…ΡƒΠΊΠΎΠ² Π² этих ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…. Одно нСбольшоС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
ΠΊ этому, Ссли Ρ…ΡƒΠΊ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС, являСтся просто ΠΏΡƒΡ‚Π΅ΠΌ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ
Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ…ΡƒΠΊΠΎΠ² Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,Π³. ваш ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Ρ†Π΅ΠΏ — это ΠΏΡƒΡ‚ΡŒ ΠΊ
исполняСмый Ρ„Π°ΠΉΠ» Π² / etc / letsencrypt / Renewal-hooks / pre ), Ρ„Π°ΠΉΠ» Π½Π΅ запускаСтся
Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Certbot автоматичСски Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ исполняСмыС Ρ„Π°ΠΉΠ»Ρ‹
Π² этих ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² --no-directory-hooks Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ…ΡƒΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ, запустив
certbot - ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ .

Если Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ эта ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π±Π΅Π· участия Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°
Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ crontab (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сСртификаты
ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° срок ΠΈΡ… дСйствия истСкаСт, ΠΊΠΎΠΌΠ°Π½Π΄Π°
ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π³Π°Ρ‚ΡŒ рСгулярно, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю ΠΈΠ»ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь).Π’ этом случаС,
Π²Ρ‹, вСроятно, Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ -q ΠΈΠ»ΠΈ --quiet quiet, Ρ‡Ρ‚ΠΎΠ±Ρ‹
ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ вСсь Π²Ρ‹Π²ΠΎΠ΄, ΠΊΡ€ΠΎΠΌΠ΅ ошибок.

Если Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ обновляСтС всС свои сСртификаты,
- Ρ„Π»Π°Π³ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обновлСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½; это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ срока дСйствия
сСртификат (Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ рассмотрСнии вопроса ΠΎ ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠΈ, ΠΈ пытаСтся
ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ установлСнный сСртификат нСзависимо ΠΎΡ‚ Π΅Π³ΠΎ возраста. (Π­Ρ‚Π°
Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ запуска, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСртификат Π±ΡƒΠ΄Π΅Ρ‚
обновляСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь, Ρ‡Ρ‚ΠΎ быстро ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² Ρ†Π΅Π½Ρ‚Ρ€ сСртификации
ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости.)

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, прСдоставлСнныС для обновлСния certbot , Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ
ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сСртификат , ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прСдпринимаСтся; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,
certbot ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ --rsa-key-size 4096 Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ
ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΉ сСртификат с эквивалСнтным сСртификатом, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ 4096-Π±ΠΈΡ‚Π½Ρ‹ΠΉ
ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ RSA. Если сСртификат ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, эти ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ сохранСны ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ
продлСния этого сСртификата.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄
процСсс обновлСния (ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… сСртификатов ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ),
это certbot certonly с ΠΏΠΎΠ»Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ сСртификат, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³ΠΎΠ² -d .Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ
Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ„Π»Π°Π³ -n ΠΈΠ»ΠΈ --noninteractive для прСдотвращСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π°
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ (Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· cron).

certbot certonly -n -d example.com -d www.example.com

ВсС Π΄ΠΎΠΌΠ΅Π½Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространяСтся сСртификат, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π²
Π² этом случаС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ старый сСртификат, Π°
Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ; Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ www. Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²! Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅
подмноТСство Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСртификат, содСрТащий
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эти Π΄ΠΎΠΌΠ΅Π½Ρ‹, Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ исходный сСртификат.ΠŸΡ€ΠΈ запускС с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ сСртификату,
ΠΊΠΎΠΌΠ°Π½Π΄Π° certonly пытаСтся ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ сСртификат.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π½Ρ‚Ρ€ сСртификации Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ увСдомлСния ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ Π½Π° адрСс
Π²Ρ‹ прСдоставляСтС, Ссли Π½Π΅ обновляСтС сСртификаты, срок дСйствия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… скоро истСчСт.

Certbot ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅Ρ‚ всС усилия, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ процСсс продлСния, ΠΈ ΠΌΡ‹
приносим извинСния Π·Π° нСудобства, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ этих
ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π²Π°ΡˆΡƒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

certbot Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ статус Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1, Ссли ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° обновлСния Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ.Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ certbot ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ статус Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ 0, Ссли ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сСртификат Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ.
Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ собствСнный сцСнарий ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС фактичСского обновлСния сСртификата
Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ --deploy-hook , Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ статус Π²Ρ‹Ρ…ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 0
ΠΈ ΠΊΠΎΠ³Π΄Π° Π² ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π½Π΅Ρ‚ нСобходимости.

ИзмСнСниС Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ продлСния

ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π΅ сСртификата Certbot ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ создаСт Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ обновлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ
отслСТиваСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ запускС Certbot.Π­Ρ‚ΠΎ позволяСт Certbot
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ возмоТности снова, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ врСмя продлСния. Π­Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅
Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ располоТСны ΠΏΠΎ адрСсу / etc / letsencrypt / Renewal / CERTNAME .

Для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ управлСния сСртификатами ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ
Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ обновлСния, Π½ΠΎ это Π½Π΅ рСкомСндуСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Certbot
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ продлСния сСртификатов. Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ продлСния
ΠΌΡ‹ совСтуСм Π²Π°ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ certbot Renew --dry-run .

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

ИзмСнСниС Π»ΡŽΠ±Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² / etc / letsencrypt ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΈΡ…, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Certbot большС Π½Π΅ смоТСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ своими сСртификатами, ΠΈ ΠΌΡ‹ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ этого Π΄Π΅Π»Π°Ρ‚ΡŒ.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ бСзопаснСС всСго ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ символичСских ссылок Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
--deploy-hook для копирования / создания Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° основС этих Ρ„Π°ΠΉΠ»ΠΎΠ², Ссли этого Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ваша рабочая ситуация
(Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, объСдинСниС сСртификатов ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΉ Π²Π΅Ρ‰Π΅ΠΉ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ).

Если содСрТимоС / etc / letsencrypt / archive / CERTNAME пСрСмСщаСтся Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, сначала ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅
имя Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ обновлСния, Π·Π°Ρ‚Π΅ΠΌ запуститС certbot update_symlinks , Ρ‡Ρ‚ΠΎΠ±Ρ‹
ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ символичСскиС ссылки Π² / etc / letsencrypt / live / CERTNAME Π² Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ»Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ сСртификата, располоТСниС символичСской ссылки ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Certbot обновлялось ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС, Π±Ρ‹Π»ΠΈ
находятся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС, сначала пСрСмСститС ΠΈΡ… Π² это мСсто, Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ
ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ обновлСния.ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ символичСскиС ссылки ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ссылками,
послС этого Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ certbot update_symlinks .

НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ продлСния сСртификата Ρ€Π°Π½Π΅Π΅ содСрТал ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅
Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹:

 ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³_Π°Ρ€Ρ…ΠΈΠ²Π° = /etc/letsencrypt/archive/example.com
cert = /etc/letsencrypt/live/example.com/cert.pem
Privkey = /etc/letsencrypt/live/example.com/privkey.pem
Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° = /etc/letsencrypt/live/example.com/chain.pem
fullchain = / etc / letsencrypt / live / example.com / fullchain.pem
 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π³Π΄Π΅ находятся эти Ρ„Π°ΠΉΠ»Ρ‹:

 mv /etc/letsencrypt/archive/example.com / home / user / me / certbot / example_archive
sed -i, / etc / letsencrypt / archive / example.com, / home / user / me / certbot / example_archive, '/etc/letsencrypt/renewal/example.com.conf
mv /etc/letsencrypt/live/example.com/*.pem / home / user / me / certbot /
sed -i, / etc / letsencrypt / live / example.com, / home / user / me / certbot, g '/ etc / letsencrypt / Renewal / example.com.conf
certbot update_symlinks
 

АвтоматичСскоС ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅

МногиС дистрибутивы Linux ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ автоматичСскоС ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ использовании
ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, установлСнныС Ρ‡Π΅Ρ€Π΅Π· ΠΈΡ… систСмный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’
Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° прСдставляСт собой Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ список распрСдСлСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ это Π΄Π΅Π»Π°ΡŽΡ‚,
Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для этого.

Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Π΅ΡΡ‚ΡŒ Π»ΠΈ это Π² вашСй систСмС
Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ вашСго дистрибутива ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свой
систСмный crontab (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² / etc / crontab / ΠΈ / etc / cron.* / * ΠΈ
Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ systemd ( Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² списка systemctl ).

РаспрСдСлСния с автоматичСским ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ΠΌ
НазваниС распространСния ВСрсия распространСния ΠœΠ΅Ρ‚ΠΎΠ΄ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ
CentOS EPEL 7 systemd
Debian растяТка cron, systemd
Debian тСстированиС / sid cron, systemd
Fedora 26 systemd
Fedora 27 systemd
RHEL EPEL 7 systemd
Ubuntu 17.10 cron, systemd
Ubuntu certbot PPA cron, systemd

ВсС сгСнСрированныС ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ Π²Ρ‹Π΄Π°Π½Π½Ρ‹Π΅ сСртификаты ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π²
/ etc / letsencrypt / live / $ domain . Π’ случаС создания сСртификата SAN
с нСсколькими Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ $ Π΄ΠΎΠΌΠ΅Π½ — это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π²
Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -d. ВмСсто копирования ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅
ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ вашСго (Π²Π΅Π±) сСрвСра нСпосрСдствСнно Π² эти Ρ„Π°ΠΉΠ»Ρ‹ (ΠΈΠ»ΠΈ создайтС
символичСскиС ссылки).Π’ΠΎ врСмя обновлСния обновляСтся / etc / letsencrypt / live
с послСдними Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

По историчСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ содСрТащиС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с
Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ 0700 ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ сСртификаты доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
ΠΊ сСрвСрам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root. Если Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΡŽΡŽ Π²Π΅Ρ€ΡΠΈΡŽ
Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Certbot
, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ бСзопасно ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ
chmod 0755 / etc / letsencrypt / {live, archive} .

Для сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ root ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ чтСния
Ρ„Π°ΠΉΠ» Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Π²Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ chgrp ΠΈ chmod
0640
, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сСрвСр ΠΌΠΎΠ³ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ
/ etc / letsencrypt / live / $ domain / privkey.pem .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

/ etc / letsencrypt / archive ΠΈ / etc / letsencrypt / keys
содСрТат всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ сСртификаты, Π°
/ etc / letsencrypt / live символичСскиС ссылки Π½Π° послСдниС вСрсии.

Доступны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹:

privkey.pem

Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для сСртификата.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

Π­Ρ‚ΠΎΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ всСгда Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² сСкрСтС ! Никогда Π½Π΅ дСлись
это с ΠΊΠ΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Certbot.Π’Ρ‹ Π½Π΅ моТСшь
ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² сСйф — Π²Π°ΡˆΠ΅ΠΌΡƒ сСрвСру ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ доступ
этот Ρ„Π°ΠΉΠ» для Ρ€Π°Π±ΠΎΡ‚Ρ‹ SSL / TLS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

Начиная с вСрсии Certbot 0.29.0, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ для Π½ΠΎΠ²ΠΎΠ³ΠΎ сСртификата
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 0600 . Π›ΡŽΠ±Ρ‹Π΅ измСнСния Ρ€Π΅ΠΆΠΈΠΌΠ° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ (gid)
этого Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄ΡƒΡ‚ сохранСны ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠΈ.

Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Apache для SSLCertificateKeyFile,
и Nginx для ssl_certificate_key.

fullchain.pem

ВсС сСртификаты, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сСртификат сСрвСра (Ρ‚Π°ΠΊΠΆΠ΅ извСстный ΠΊΠ°ΠΊ листовой сСртификат ΠΈΠ»ΠΈ
сСртификат ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°).Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ сСрвСра являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² этом Ρ„Π°ΠΉΠ»Π΅,
Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π»ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ звСнья.

Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Apache> = 2.4.8 для SSLCertificateFile,
ΠΈ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Nginx для ssl_certificate.

cert.pem ΠΈ chain.pem (Ρ€Π΅ΠΆΠ΅)

cert.pem содСрТит сам сСртификат сСрвСра ΠΈ
chain.pem содСрТит Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ сСртификат ΠΈΠ»ΠΈ
сСртификаты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
сСртификат сСрвСра.Если Π²Ρ‹ прСдоставитС ΠΎΠ΄ΠΈΠ½ ΠΈΠ· этих Ρ„Π°ΠΉΠ»ΠΎΠ² Π² свой Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚
сСрвСр, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Π° ΠΈΠ· Π½ΠΈΡ…, ΠΈΠ½Π°Ρ‡Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ
Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка Β«Π­Ρ‚ΠΎ соСдинСниС Π½Π΅ являСтся Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΒ» для вашСго сайта.

Apache <2.4.8 ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹ для SSLCertificateFile. ΠΈ SSLCertificateChainFile, соотвСтствСнно.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ сшиваниС OCSP с Nginx> = 1.3.7, chain.pem Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ
прСдоставляСтся ΠΊΠ°ΠΊ ssl_trusted_certificate
для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² OCSP.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ PEM.Если Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ DER ΠΈΠ»ΠΈ PFX, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ с использованиСм openssl . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ
--deploy-hook , Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ автоматичСскоС ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅.

Certbot позволяСт ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ…ΡƒΠΊΠΈ Π΄ΠΎ ΠΈ послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈ запускС
Π² Ρ€ΡƒΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π€Π»Π°Π³ΠΈ для указания этих сцСнариСв: --manual-auth-hook
ΠΈ - ΠΊΡ€ΡŽΠΊ Ρ€ΡƒΡ‡Π½ΠΎΠΉ очистки соотвСтствСнно ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 certbot certonly --manual --manual-auth-hook / ΠΏΡƒΡ‚ΡŒ / ΠΊ / http / Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ.sh --manual-cleanup-hook /path/to/http/cleanup.sh -d secure.example.com
 

Π­Ρ‚ΠΎ запустит сцСнарий Authenticator.sh , попытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ запустит
сцСнарий cleanup.sh . Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ certbot ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ срСду
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΊ этим скриптам:

  • CERTBOT_DOMAIN : Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½
  • CERTBOT_VALIDATION : строка ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
  • CERTBOT_TOKEN : имя рСсурса, Ρ‡Π°ΡΡ‚ΡŒ запроса HTTP-01 (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ HTTP-01)
  • CERTBOT_REMAINING_CHALLENGES : количСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ послС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°
  • CERTBOT_ALL_DOMAINS : Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ запятыми список всСх Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСртификата

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для очистки:

  • CERTBOT_AUTH_OUTPUT : всС, Ρ‡Ρ‚ΠΎ сцСнарий Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ записал Π² стандартный Π²Ρ‹Π²ΠΎΠ΄

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования HTTP-01:

 certbot certonly --manual --preferred-issues = http --manual-auth-hook / path / to / http / authentication.sh --manual-cleanup-hook /path/to/http/cleanup.sh -d secure.example.com
 

/path/to/http/authenticator.sh

 #! / Bin / bash
echo $ CERTBOT_VALIDATION> /var/www/htdocs/.well-known/acme-challenge/$CERTBOT_TOKEN
 

/path/to/http/cleanup.sh

 #! / Bin / bash
rm -f /var/www/htdocs/.well-known/acme-challenge/$CERTBOT_TOKEN
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования DNS-01 (Cloudflare API v4) (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ)

 certbot certonly --manual --preferred-issues = dns --manual-auth-hook / path / to / dns / authentication.sh --manual-cleanup-hook /path/to/dns/cleanup.sh -d secure.example.com
 

/path/to/dns/authenticator.sh

 #! / Bin / bash

# ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ свой ΠΊΠ»ΡŽΡ‡ API с https://www.cloudflare.com/a/account/my-account
API_KEY = "ваш-API-ΠΊΠ»ΡŽΡ‡"
EMAIL = "[email protected]"

# Π£Π΄Π°Π»ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π΄ΠΎΠΌΠ΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·ΠΎΠ½Ρ‹
DOMAIN = $ (expr match "$ CERTBOT_DOMAIN" '. * \. \ (. * \ .. * \)')

# ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·ΠΎΠ½Ρ‹ Cloudflare
ZONE_EXTRA_PARAMS = "status = active & page = 1 & per_page = 20 & order = status & direction = desc & match = all"
ZONE_ID = $ (curl -s -X GET "https: // api.cloudflare.com/client/v4/zones?name=$DOMAIN&$ZONE_EXTRA_PARAMS "\
     -H "X-Auth-Email: $ EMAIL" \
     -H "X-Auth-Key: $ API_KEY" \
     -H "Content-Type: application / json" | python -c "import sys, json; print (json.load (sys.stdin) ['result'] [0] ['id'])Β»)

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ запись TXT
CREATE_DOMAIN = "_ acme-challenge. $ CERTBOT_DOMAIN"
RECORD_ID = $ (curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
     -H "X-Auth-Email: $ EMAIL" \
     -H "X-Auth-Key: $ API_KEY" \
     -H "Content-Type: application / json" \
     --data '{"type": "TXT", "name": "'" $ CREATE_DOMAIN "'", "content": "'" $ CERTBOT_VALIDATION "'", "ttl": 120}' \
             | python -c "import sys, json; print (json.load (sys.stdin) ['Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚'] ['ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€']) ")
# Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для очистки
Ссли [ ! -d / tmp / CERTBOT_ $ CERTBOT_DOMAIN]; Π·Π°Ρ‚Π΅ΠΌ
        mkdir -m 0700 / tmp / CERTBOT_ $ CERTBOT_DOMAIN
Ρ„ΠΈ
echo $ ZONE_ID> / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID
echo $ RECORD_ID> / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID

# Π‘ΠΏΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ успСло Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π½Π° DNS
ΡΠΏΠ°Ρ‚ΡŒ 25
 

/path/to/dns/cleanup.sh

 #! / Bin / bash

# ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ свой ΠΊΠ»ΡŽΡ‡ API с https://www.cloudflare.com/a/account/my-account
API_KEY = "ваш-API-ΠΊΠ»ΡŽΡ‡"
EMAIL = "ваш[email protected] "

Ссли [-f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID]; Ρ‚ΠΎΠ³Π΄Π°
        ZONE_ID = $ (cat / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID)
        rm -f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / ZONE_ID
Ρ„ΠΈ

Ссли [-f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID]; Ρ‚ΠΎΠ³Π΄Π°
        RECORD_ID = $ (cat / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID)
        rm -f / tmp / CERTBOT_ $ CERTBOT_DOMAIN / RECORD_ID
Ρ„ΠΈ

# УдаляСм TXT-запись Π²Ρ‹Π·ΠΎΠ²Π° ΠΈΠ· Π·ΠΎΠ½Ρ‹
Ссли [-n "$ {ZONE_ID}"]; Ρ‚ΠΎΠ³Π΄Π°
    Ссли [-n "$ {RECORD_ID}"]; Ρ‚ΠΎΠ³Π΄Π°
        curl -s -X DELETE "https: // api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$RECORD_ID "\
                -H "X-Auth-Email: $ EMAIL" \
                -H "X-Auth-Key: $ API_KEY" \
                -H "Content-Type: application / json"
    Ρ„ΠΈ
Ρ„ΠΈ
 

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *