Certbot: рдореИрдВ ACMEv2 рдФрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реВрдВ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рдорд╛рд░реНрдЪ 2018  ┬╖  30рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: certbot/certbot

рдпрджрд┐ рдЖрдкрдХреЛ Certbot рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдмрдЧ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ рдпрд╛
рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ, рдХреГрдкрдпрд╛ рдкрд╣рд▓реЗ рдорджрдж рдорд╛рдВрдЧрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
https://community.letsencrypt.org/ред рд╡рд╣рд╛рдБ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рд╣реИ
рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд▓реЛрдЧ рдЬреЛ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХреЛ рдЕрдзрд┐рдХ рддреЗрдЬрд╝реА рд╕реЗ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ
рдкреНрд░рд╢рдиред

рдореЗрд░рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ (рд╕рдВрд╕реНрдХрд░рдг рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ):

рдЙрдмрдВрдЯреВ 16.04 рд╕рд░реНрд╡рд░ред

рдореИрдВрдиреЗ Certbot рдХреЛ (рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ-рдСрдЯреЛ, OS рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░, рдкрд╛рдЗрдк, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ:

2 рд╕рдВрд╕реНрдХрд░рдг: Plesk рдкреИрдХреЗрдЬ, рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд░реЗрдкреЛ рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдкреИрдХреЗрдЬред
Certbot рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдг: 0.21.1

рдореИрдВрдиреЗ рдпрд╣ рдЖрджреЗрд╢ рдЪрд▓рд╛рдпрд╛ рдФрд░ рдЗрд╕рдиреЗ рдЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд┐рдпрд╛:

рдореЗрдВ: certbot -d *.works.wtf certonly
рдЖрдЙрдЯ: Wildcard domains are not supported: *.works.wtf

Certbot рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рд╕реЗ рднрд┐рдиреНрди рдерд╛ рдХреНрдпреЛрдВрдХрд┐:

LetsEncrypt рд╕рд╛рдЗрдЯ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ Certbot рдЕрдм ACMEv2 api рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред

рдпрд╣рд╛рдБ рдПрдХ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд▓реЙрдЧ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реИ (рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ):

рд▓реЙрдЧ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ /var/log/letsencrypt рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВред рдбреЛрдореЗрди, рдИ-рдореЗрд▓ рдФрд░ рдЖрдИрдкреА рдкрддреЛрдВ рдХреЛ рдмреЗрдЭрд┐рдЭрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рдЬреИрд╕рд╛ рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рд▓рдЧреЗред

рдореИрдВ рдЬрд┐рд╕ рдбреЛрдореЗрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ nginx рд╕рд░реНрд╡рд░ рдмреНрд▓реЙрдХ рдпрд╛ рдЕрдкрд╛рдЪреЗ рд╡рд░реНрдЪреБрдЕрд▓рд╣реЛрд╕реНрдЯ рдпрд╣рд╛рдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдПрди / рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣рд╛рдБ, рдЖрдк рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

root<strong i="6">@cs12</strong>:~# git clone https://github.com/certbot/certbot
...
root<strong i="7">@cs12</strong>:~# DOMAIN=example.com
root<strong i="8">@cs12</strong>:~# cd certbot 
root<strong i="9">@cs12</strong>:~/certbot# ./certbot-auto certonly --manual -d *.$DOMAIN -d $DOMAIN --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
...
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:

qqiR_lsa2AjMfoVR16mH4UDbOxy_E02l0K1CNyz1RdI

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

TXT рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝реЗрдВ рдПрдВрдЯрд░ рджрдмрд╛рдПрдВред рдЖрдкрдХреЛ рдПрдХ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдорд┐рд▓реЗрдЧрд╛ред рдЗрд╕реЗ рднреА рдЬреЛрдбрд╝реЗрдВред

рдлрд┐рд░ рджреВрд╕рд░реА рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдб рддреИрдирд╛рдд рдХрд┐рдП рдЧрдП рдереЗ:

root<strong i="15">@cs12</strong>:~# host -t txt _acme-challenge.example.com
_acme-challenge.example.com descriptive text "qqiR_lsa2AjMfoVR16mH4UDbOxy_E02l0K1CNyz1RdI"
_acme-challenge.example.com descriptive text "oMmMa-fDLlebdUhvhMD5MinJ2EeFpdP0F9lUPTShh4w"

рдЕрдЧрд░ рдареАрдХ рд╣реИ рддреЛ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдПрдВрдЯрд░ рджрдмрд╛рдПрдВ

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2018-06-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - 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

рдЕрджреНрдпрддрди: рдЧрд┐рд╕реНрдЯ рдкрд░ рд╕реНрдерд╛рдкрдирд╛, рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдирд╡реАрдиреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдкреВрд░реНрдг

рд╕рднреА 30 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдкрдХреЛ DNS-01 рдЪреБрдиреМрддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреАрдПрдирдПрд╕ рдЬрд╝реЛрди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЭрдВрдбрд╛ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЭрдВрдбрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╡реЗ рд╡рд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рдХрдИ DNS рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ, рдпрджрд┐ рдЖрдкрдХрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдорд╛рдВрдЧрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЧрдВрджреА рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдЦреБрд▓реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЦреЛрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред рдПрдХ рдирдпрд╛)ред

рд╣рдо рдирд╣реАрдВ, рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ certbot >= 0.22 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдкрдХреА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ рдЗрд╕реЗ рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

рдареАрдХ рд╣реИ.... рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдВ? рдХреНрдпрд╛ рдореБрдЭреЗ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╣реИ?

рдЖрдк рдпрд╛ рддреЛ рдЗрд╕рдХреЗ рдкреАрдкреАрдП рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреАрдЖрдИрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд░реЛрдд рд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдореИрдВ рддреБрдо рд╣реЛ, рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЛ рдбреАрдПрдирдПрд╕ рдЪреБрдиреМрддреА рдХреЛ рдареАрдХ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рджреЗрдЧрд╛, рдЬрд┐рд╕реЗ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЬрдм рдЕрдкрдбреЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ (рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрдирд╛ рдЪрд╛рд╣рд┐рдП), рдЖрдк рдЗрд╕рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ рдЕрдкрдирд╛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рд╣рд╛рдБ, рдЖрдк рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

root<strong i="6">@cs12</strong>:~# git clone https://github.com/certbot/certbot
...
root<strong i="7">@cs12</strong>:~# DOMAIN=example.com
root<strong i="8">@cs12</strong>:~# cd certbot 
root<strong i="9">@cs12</strong>:~/certbot# ./certbot-auto certonly --manual -d *.$DOMAIN -d $DOMAIN --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
...
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:

qqiR_lsa2AjMfoVR16mH4UDbOxy_E02l0K1CNyz1RdI

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

TXT рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝реЗрдВ рдПрдВрдЯрд░ рджрдмрд╛рдПрдВред рдЖрдкрдХреЛ рдПрдХ рдФрд░ рд░рд┐рдХреЙрд░реНрдб рдорд┐рд▓реЗрдЧрд╛ред рдЗрд╕реЗ рднреА рдЬреЛрдбрд╝реЗрдВред

рдлрд┐рд░ рджреВрд╕рд░реА рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдб рддреИрдирд╛рдд рдХрд┐рдП рдЧрдП рдереЗ:

root<strong i="15">@cs12</strong>:~# host -t txt _acme-challenge.example.com
_acme-challenge.example.com descriptive text "qqiR_lsa2AjMfoVR16mH4UDbOxy_E02l0K1CNyz1RdI"
_acme-challenge.example.com descriptive text "oMmMa-fDLlebdUhvhMD5MinJ2EeFpdP0F9lUPTShh4w"

рдЕрдЧрд░ рдареАрдХ рд╣реИ рддреЛ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдПрдВрдЯрд░ рджрдмрд╛рдПрдВ

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2018-06-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - 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

рдЕрджреНрдпрддрди: рдЧрд┐рд╕реНрдЯ рдкрд░ рд╕реНрдерд╛рдкрдирд╛, рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдирд╡реАрдиреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдкреВрд░реНрдг

рдЗрддрдиреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @ArchangeGabriel! рд╣рдо рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡реЗ рдЬрд▓реНрдж рд╣реА рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред

@ohemorange рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ! рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдбрд░ рдерд╛ рдХрд┐ рд╣рдо рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд▓реЛрдЧреЛрдВ рдХреА рдЖрдордж рджреЗрдЦреЗрдВрдЧреЗ, рдЬрдмрдХрд┐ DNS-01 рдЪреБрдиреМрддреА рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реБрдЖ (рдЕрднреА рддрдХ рдХрдо рд╕реЗ рдХрдо)ред

рдЕрдЪреНрдЫрд╛ рдПрдХ @talyguryn , @talyguryn рдкрд░ рдЕрдиреБрд╡рд░реНрддреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ

рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдПрдкреЗрдХреНрд╕ рдкрд░ рдПрдХ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ __рджреЛ__ рдЪреБрдиреМрддрд┐рдпрд╛рдВ рдорд┐рд▓реЗрдВрдЧреАред

-d "example.com, *.example.com" _рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЭреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рджреЗрдВ_

рдЖрдкрдХреЛ _рджреЛ рдмрд╛рд░ рдЪреБрдиреМрддреА рджреА рдЬрд╛рдПрдЧреА, рдПрдХ рдмрд╛рд░ example.com рдФрд░ рдлрд┐рд░ рд╕реЗ *.example.com

рддреЛ рдпрд╣ рдордд рд╕реЛрдЪреЛ рдХрд┐ рджреВрд╕рд░реА рдЪреБрдиреМрддреА рдкрд░ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ.. рдФрд░ рдЖрдкрдХреЛ рдореВрд▓реНрдп рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдмрд╕ рдбреАрдПрдирдПрд╕ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреБрдиреМрддреА рдЬреЛрдбрд╝реЗрдВред рдкреНрд░рд╕рд╛рд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдФрд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ,

рд╕рдВрднрд╡рдд: рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдХрд┐ рдХрд┐рд╕ рдбреЛрдореЗрди рдХреЛ рдЪреБрдиреМрддреА рджреА рдЧрдИ рд╣реИ?

@AubreyHewes , рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ example.com рдФрд░ *.example.com рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреИрд╕реЗ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдореИрдВ TXT рд░рд┐рдХреЙрд░реНрдб рдХреЛ рджреЛ рдмрд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реВрдВред рдпрд╣ рдХрд┐рд╕реА рдПрдХ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

@ рдирд╛рдерди-рдПрд▓реНрдбрди рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛрдиреЛрдВ TXT рд░рд┐рдХреЙрд░реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рджреВрд╕рд░рд╛ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рди рд╣рдЯрд╛рдПрдВред

@ рдирд╛рдерди-рдПрд▓реНрдбреЗрди
рдЖрдкрдХреЛ рджреЛ рдЪреБрдиреМрддрд┐рдпрд╛рдБ рдорд┐рд▓рддреА рд╣реИрдВ .. рдпрд╣ _рд▓рдЧрддрд╛ рд╣реИ_ рдЬреИрд╕реЗ рд╕рд░реНрдЯрдмреЙрдЯ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрд╕реА TXT рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рдорд╛рди рджреВрд╕рд░реЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреВрд╕рд░реЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ TXT рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝реЗрдВред

рдЕрд░реНрдерд╛рдд
рдпрджрд┐ -d "example.com,*.example.com" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдкрд╣рд▓реА рдЪреБрдиреМрддреА example.com рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ TXT рдЬреЛрдбрд╝реЗрдВред рдкреНрд░рд╕рд╛рд░ рдХреЗ рдмрд╛рдж рдЬрд╛рд░реА рд░рдЦреЗрдВред
рджреВрд╕рд░реА рдЪреБрдиреМрддреА *.example.com рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ TXT рдЬреЛрдбрд╝реЗрдВред рдкреНрд░рд╕рд╛рд░ рдХреЗ рдмрд╛рдж рдЬрд╛рд░реА рд░рдЦреЗрдВред

рдореБрдЭреЗ рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рдерд╛ред рдПрдХ рд╕рд╛рдЗрдб рдиреЛрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, TXT рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП TTL рдХреЛ 1 рдорд┐рдирдЯ рдХреА рддрд░рд╣ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рджреВрд╕рд░реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдВрдЯреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рди рдХрд░рдиреА рдкрдбрд╝реЗред

docker run -it --name certbot \
  -v <certs>:/etc/letsencrypt \
  -v <logs>:/var/lib/letsencrypt \
  certbot/certbot certonly --manual \ 
  -d *.<domain.com> -d <domain.com> \
  --agree-tos \
  --manual-public-ip-logging-ok \ 
  --preferred-challenges dns-01 \
  --server https://acme-v02.api.letsencrypt.org/directory

рдЖрд╢реНрдЪрд░реНрдп рд╣реИред рд╣рдореЗрдВ dns-01 рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд╕рд┐рд░реНрдл рдкреЛрд░реНрдЯ 80 ( http рдЪреБрдиреМрддреА рдХрд╛ рдХреЛрдИ рднреА рд░реВрдк) рдкрд░ рдПрдХ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдПрди рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдк рдбреЛрдореЗрди рдЙрддреНрдкрдиреНрди рдХрд░рдХреЗ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдХреЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдбреЛрдореЗрди рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реВрдВ?

@AubreyHewes , рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ DNS рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреБрдиреМрддреА/рд░рд┐рдХреЙрд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдмрд╕ рд╕рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдЪрд╛рд░ рдбреЛрдореЗрди рдФрд░ рдЙрдирдХреЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдбреЛрдореЗрди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ TXT _acme-challenge рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдлреА рдЕрд╕рдВрдЧрдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рддреАрди рдбреЛрдореЗрди рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдкрд╣рд▓реА рдЪреБрдиреМрддреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдорд╛рди рд╕рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВред

рдЪреМрдерд╛ рдбреЛрдореЗрди рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдкрд╣рд▓реЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдЖрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

/usr/bin/certbot --renew-by-default certonly --manual --server https://acme-v02.api.letsencrypt.org/directory --preferred-challenges dns-01 -w /usr/share/nginx/letsencrypt-root/ -d *.domain1.sk -d domain1.sk -d *.domain2.sk -d domain2.sk -d *.domain3.sk -d domain3.sk -d *.domain4.sk -d domain4.sk

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реЗ рдХрд┐рдпрд╛ - рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рджреЛ рд╕рдорд╛рди DNS рд░рд┐рдХреЙрд░реНрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ :-) рдЕрдЧрд▓реА рдмрд╛рд░ рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред

@robertvalik example.com рдФрд░ *.example.com рд╕рд╣рд┐рдд рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди TXT рд░рд┐рдХреЙрд░реНрдб рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдЖрдЗрдП рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╡рд░реНрддрдорд╛рди рдореЗрдВ 30 рджрд┐рдиред рдпрджрд┐ рдЖрдкрдХреЗ рдЦрд╛рддреЗ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреБрдЫ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╡рд╣ рджреЛрдмрд╛рд░рд╛ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЬрд╛рд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, Certbot рдХреА рд╕реАрдорд╛рдУрдВ (#5342) рдХреЗ рдХрд╛рд░рдг, Certbot рдЖрдкрд╕реЗ рд╡рд╣реА TXT рд░рд┐рдХреЙрд░реНрдб рдлрд┐рд░ рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕реЗ рджреЛрдмрд╛рд░рд╛ рдЪреЗрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рддреЛ рдХреНрдпрд╛ рд╣реБрдЖ рд╣реЛрдЧрд╛ рдХрд┐ рдирд╛рдореЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡реИрдз рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддрдереНрдп рдХрд┐ рдЖрд╡рд╢реНрдпрдХ DNS рд░рд┐рдХреЙрд░реНрдб рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛, рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рдерд╛ред

@ Francoism90 рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдПрдХ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдбреЛрдореЗрди рдЪрд╛рд╣ рд╕рдХрддрд╛ рд╣реИ, рдХреЛрдИ рдХреБрдЫ рд╕реНрдерд┐рд░ рд╕рдмрдбреЛрдореЗрди рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдп, рд╕рдВрднрд╛рд╡рд┐рдд рдЕрдирдВрдд рд╕рдмрдбреЛрдореЗрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░) рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдкрд╣рд▓реЗ рд╕реЗ рд╣реА DNS рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рднреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдкрдбреЛрдореЗрди рдХреЛ рдареАрдХ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП http рдЪреБрдиреМрддреА рдХрд╛ рдПрдХ рд░реВрдк рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЖрдкрдХреЗ рдХрдбрд╝реА рдореЗрд╣рдирдд рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореБрдЭреЗ рдЬрд╛рд░реА рдХрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА

./certbot-auto certonly --manual -d *.example.com -d example.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

рдЕрдм рдореИрдВ рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдирд╡реАрдиреАрдХреГрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

<> certbot renew
<> certbot-renew
<> certbot-auto renew

рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ, рдореИрдВрдиреЗ ./certbot-auto renew рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╕рдордп рдЙрд╕реА рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдХреНрдпрд╛ рд╣рдо рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@ ufo911 рдмрд┐рд▓реНрдХреБрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Certbot рдХреЗ RFC 2136 рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

certbot certonly \
  --dns-rfc2136 \
  --dns-rfc2136-credentials ~/.secrets/certbot/rfc2136.ini \
  --server https://acme-v02.api.letsencrypt.org/directory \
  -d example.com \
  -d "*.example.com"

рдпрд╛ рдПрдХреНрдореЗ-рдбреАрдПрдирдПрд╕ рдореИрдиреБрдЕрд▓ рдСрде рд╣реБрдХ :

certbot certonly \
  --debug-challenges \
  --manual \
  --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py \
  --server https://acme-v02.api.letsencrypt.org/directory \
  -d example.com \
  -d "*.example.com"

https://certbot.eff.org/docs/using.html
https://community.letsencrypt.org/t/getting-wildcard-certificates-with-certbot/56285

рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк Let's Encrypt рдлреЛрд░рдо рдкрд░ рдПрдХ рд╡рд┐рд╖рдп рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@mnordhoff
рдХреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдирд╡реАрдиреАрдХрд░рдг рдкрд░ DNS TXT рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рд▓рд╛рдЗрд╡ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?

@ ufo911 рдмреЗрд╢рдХ, рдПрдХ рдирд╡реАрдиреАрдХрд░рдг рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░реЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЕрдиреБрд░реЛрдз рд╣реИред

@ArchangeGabriel Stange рдпрд╣ рдореБрдЭреЗ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрдЭреЗ рдирдП TXT-рд░рд┐рдХреЙрд░реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИ:

#!/bin/bash
certbot certonly \
  --manual \
  --agree-tos \
  --manual-public-ip-logging-ok \
  --preferred-challenges dns-01 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  -d domain.tld \
  -d "*.domain.tld"

рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ? рдирдП рдЯреЛрдХрди рдХреНрдпреЛрдВ рдмрдирд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛, рд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдкрд░ рдПрдХ рдирдпрд╛ TXT рд░рд┐рдХреЙрд░реНрдб рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЪреБрдиреМрддреА-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рддреНрдпрд╛рдкрди рд╣реИ, рдФрд░ рдЪреБрдиреМрддреА рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реА TXT рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдирд╡реАрдиреАрдХрд░рдг рдХрд░рдиреЗ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ TXT рд░рд┐рдХреЙрд░реНрдб рд╣реЛрддрд╛ рд╣реИ (рдФрд░ рдПрдХ рдмрд╛рд░ рд╕рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рд╣рдЯрд╛ рджреЗрдВ)ред

@ArchangeGabriel рд╣рдореНрдо, рдпрд╣ рдордд рд╕реЛрдЪреЛ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдПрдХ рдирдпрд╛ TXT-рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдиреЗ рдореЗрдВ 24 рдШрдВрдЯреЗ рдХрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдХреБрдЫ рдЧрд▓рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╣реЛрдЧрд╛ред

рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред :)

рдЬрд╝рд░реВрд░, DNS рдЪреБрдиреМрддреА рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд▓рд┐рдП, рдХрдо рд╕реЗ рдХрдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕реНрдкреЗрд╕ рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдкрдбреЛрдореЗрди рдирд╛рдо рдХреЛ рдЪреБрдиреМрддреА рднреЗрдЬрдХрд░ рдЗрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдк *.domain.com рдорд╛рдВрдЧрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ somerandomstring.domain.com рдкрд░ рдЪреБрдиреМрддреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред *.domain.com рд╕реНрдерд╛рди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╣реИ)ред рдЗрд╕ рддрд░рд╣ DNS рдореЗрдВ рдЖрдкрдХрд╛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред

@ArchangeGabriel рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ DNS рд╕рддреНрдпрд╛рдкрди рдХреА рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА? рдХреНрдпрд╛ рдпрд╣ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреБрдЫ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ?

рдирд╣реАрдВ, рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдбреАрдПрдирдПрд╕ рдЪреБрдиреМрддреА рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рднреА рдЙрдк рдбреЛрдореЗрди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╕рдВрдмрдВрдзрд┐рдд DNS рдЬрд╝реЛрди рдХреЗ рддрдХрдиреАрдХреА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рд╣реИред

рдЕрдм рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреА рддрд░рд╣ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдкрдбреЛрдореЗрди рдкреВрдЫрдирд╛ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдкрд░ рдЖрдкрдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдИрдИрдЯреАрдПрдл рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдпрд╛ рдирд╣реАрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдореБрджреНрджреЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдорд╛рдорд▓рд╛ рд╕рдВрднрд╡ рд╣реИ:
- somespecificsub.domain.com рдХрд┐рд╕реА рджрд┐рдП рдЧрдП IP рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ;
- *.domain.com рдФрд░ domain.com рджреВрд╕рд░реЗ IP рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдореБрдЦреНрдп рдбреЛрдореЗрди рдФрд░ somespecificsub.domain.com рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐рд╕реА рднреА рдЙрдк рдбреЛрдореЗрди рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ *.domain.com рдкреНрд░рдорд╛рдгрдкрддреНрд░ рджреЗрдирд╛ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рддреЛ рдЕрдЧрд░ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрдЕрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдПрдХ рд╕реНрдерд╛рдпреА TXT рд░рд┐рдХреЙрд░реНрдб рдХреА рддрд░рд╣ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдЪреБрдиреМрддреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЙрдкрдбреЛрдореЗрди рд╕рддреНрдпрд╛рдкрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХреГрдд рд╣реИред рдЗрд╕ рддрд░рд╣ DNS рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗрд╡рд▓ рдЖрдЧ рдФрд░ рднреВрд▓ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдк рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рдЕрдзрд┐рдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╡реИрд╕реЗ рднреА, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕ рдкрд░ рдХрд┐рд╕рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдХрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╕реЗрдЯрдЕрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рди рд╣реА рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдирджрдВрдб рдХреНрдпрд╛ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдЖрд░рдПрдлрд╕реА рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

bmw picture bmw  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gcstang picture gcstang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

SlavikCA picture SlavikCA  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DatanoiseTV picture DatanoiseTV  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

realtebo picture realtebo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ