рдирдорд╕реНрддреЗ,
рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЬрдирд╡рд░реА рдореЗрдВ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛? рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рд╣реИ?
рдореИрдВ рд░реЗрдкреЛ рдореЗрдВрдЯреЗрдирд░ рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред LE рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП DNS рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдЕрднреА lua-resty-auto-ssl http рд╕рддреНрдпрд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рди рдХрд░рддреЗ рд╣реБрдП рднреА DNS рд╕рддреНрдпрд╛рдкрди рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдХреБрдЫ рд╡рд┐рдЪрд╛рд░:
deploy_challenge
рдирд┐рд░реНрдЬрд▓рд┐рдд рд╣реБрдХ рдПрдХ рдбреЛрдореЗрди рдФрд░ рдПрдХ рдЯреЛрдХрди рдХреЛ TXT рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИред
-- Define a function to store the validation tokens for DNS verification
-- by let's encrypt in your DNS setup.
auto_ssl:set("deploy_dns_challenge", function(domain, token)
-- talk to your DNS-API to create a new TXT record _acme-challenge.$domain with value $token
end)
parentdomain.com:wildcard:latest
рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рд╣реИ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рд▓реЗрдпрд░ рдХреЛ рдЙрд╕ рдХреБрдВрдЬреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ рдареЛрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИредрдкреНрд░рд╢рди:
is_wildcard_domain
? рдореМрдЬреВрджрд╛ allow_domain
рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп?FYI рдХрд░реЗрдВ: рдЕрдм ACMEv2 рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИред :)
рд╡рд░реНрддрдорд╛рди ACMEv2 рдорд╕реМрджреЗ рдореЗрдВ dns-01 рдЪреБрдиреМрддреА рдореЗрд░реЗ рд╕рдорд╛рди рдпрд╛ рд▓рдЧрднрдЧ рд╕рдорд╛рди рджрд┐рдЦрддреА рд╣реИред
рдЖрдк рд╕рд╣реА рдХрд╣ рд░рд╣реЗ рд╣реИрдВ :-) V1 рдФрд░ V2 API рдХреЗ рдмреАрдЪ DNS-01 рдЪреБрдиреМрддреА рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред
FYI рдХрд░реЗрдВ: рдХрдо рд╕реЗ рдХрдо рдирд┐рд░реНрдЬрд▓рд┐рдд рдХрд╛ рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдг рдЕрдм ACMEv2 рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЕрдм рдЖрдкрдХреЗ рд▓рд┐рдП рдореМрдХрд╛ рд╣реИ;)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ DNS рд╕рддреНрдпрд╛рдкрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ Resty-auto-ssl рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдо рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдХреЛ "рдЖрдЙрдЯ рдСрдл рдмреИрдВрдб" рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рд╡рд╛рдкрд╕ рд▓реЗ рдЖрдПрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдб9 рдФрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕реЗрд╡рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдЕрднреА рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрд╕ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░рд╛рдо-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдареАрдХ рд╣реИ, рдпрд╣ рдЙрд╕ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реИ ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдПрдХ рдХрд╕реНрдЯрдо рдбреАрдПрдирдПрд╕ рдПрдкреАрдЖрдИ рдореЗрдВ рд╣реБрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдЬрд▓рд┐рдд рдореИрдиреНрдпреБрдЕрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ...
рдХреНрдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдПрд▓рдИ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рд░реЗрдбрд┐рд╕ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рддрд╛рдХрд┐ рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХреЗ?
рдХреЛрдб рд╕реЗ рдореИрдВ рдЬреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЙрд╕рд╕реЗ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ sub.domain.tld
рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
sub.domain.tld:latest
тАФ рд╡рд░реНрддрдорд╛рди*.domain.tld:latest
*.sub.domain.tld:latest
рдЗрд╕ рддрд░рд╣, рд╣рдо рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреА рдУрд░ рдкрд╣рд▓рд╛ рдХрджрдо рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЦрд░реЛрдВрдЪрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
@akalipetis рдХреНрдпрд╛ рдЖрдкрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдХреНрдпрд╛ рд╕реЗрдЯрд┐рдВрдЧ
ssl_options.fullchain_der
ssl_options.privkey_der
allow_domain рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛?
рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рддреЛ рдЖрдк allow_domain рдореЗрдВ рдПрдХ рд░реЗрдбрд┐рд╕ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░рд╛ рд╣реИ, рдореИрдВ рдЕрдкрдиреА рдирд┐рдЧрд░рд╛рдиреА рд╕реЗрд╡рд╛ рдкрд░ рдХрд╕реНрдЯрдо рдбреЛрдореЗрди рд╕реНрдерд┐рддрд┐ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lua-resty-auto-ssl
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ xxxx.status.updown.io
рдЬреИрд╕реЗ рдореЗрд░реЗ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдореИрдВрдиреЗ allow_domain
*status.updown.io
рд▓рд┐рдП рдкреНрд░рдорд╛рдгрд┐рдд рдкреАрдврд╝реА рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛:
auto_ssl:set("allow_domain", function(domain)
return not ngx.re.match(domain, "status.updown.io$", "ijo")
end)
рдФрд░ рдлрд┐рд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реЙрд▓рдмреИрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛:
ssl_certificate /etc/letsencrypt/live/status.updown.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/status.updown.io/privkey.pem;
рдореИрдВрдиреЗ рдбреАрдПрдирдПрд╕ рдЪреБрдиреМрддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ:
sudo certbot certonly --manual -d *.status.updown.io --agree-tos --no-bootstrap --manual-public-ip-logging-ok
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ DNS рдЪреБрдиреМрддреА рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдХрдо рддрдХрдиреАрдХ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)
рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдФрд░ рдПрдХ рдЬреЛ рдХрдИ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ https://github.com/AnalogJ/lexicon рдХреЗ рд╕рд╛рде DNS рдЪреБрдиреМрддреА рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ!
рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рднреА рдЬреЛрдбрд╝рд╛ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рд╣реИред
@kapouer рдЯрд┐рдк рдХреЗ рд▓рд┐рдП lexicon
рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЕрдЧрд░ рдореИрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддреЛ рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдЧрд╛;)
рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░рд╛ рд╣реИ, рдореИрдВ рдЕрдкрдиреА рдирд┐рдЧрд░рд╛рдиреА рд╕реЗрд╡рд╛ рдкрд░ рдХрд╕реНрдЯрдо рдбреЛрдореЗрди рд╕реНрдерд┐рддрд┐ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
lua-resty-auto-ssl
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧxxxx.status.updown.io
рдЬреИрд╕реЗ рдореЗрд░реЗ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПредрдореИрдВрдиреЗ
allow_domain
*status.updown.io
рд▓рд┐рдП рдкреНрд░рдорд╛рдгрд┐рдд рдкреАрдврд╝реА рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛:auto_ssl:set("allow_domain", function(domain) return not ngx.re.match(domain, "status.updown.io$", "ijo") end)
рдФрд░ рдлрд┐рд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝реЙрд▓рдмреИрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛:
ssl_certificate /etc/letsencrypt/live/status.updown.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/status.updown.io/privkey.pem;
рдореИрдВрдиреЗ рдбреАрдПрдирдПрд╕ рдЪреБрдиреМрддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ:
sudo certbot certonly --manual -d *.status.updown.io --agree-tos --no-bootstrap --manual-public-ip-logging-ok
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ DNS рдЪреБрдиреМрддреА рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓ рджрд┐рдЦрддрд╛ рд╣реИред рдпрд╣ рдХрдо рддрдХрдиреАрдХ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)
рдореИрдВ рдЕрдкрдиреЗ рдРрдк рдХреЗ рд▓рд┐рдП рднреА рдЙрд╕реА рддрд░рд╣ рдХрд╛ рдбреЛрдореЗрди рдЪреЗрдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкреЛрд░реНрдЯрд▓ рд╣реЛрд╕реНрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ "рд╕реНрд╡рдпрдВ" рдбреЛрдореЗрди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рддреЛ рд╣рдо рдПрдХ рд╕реНрдерд┐рд░ рд╕реАрдП рд╕реЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рд▓реМрдЯрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА LE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред
рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред
рдЕрджреНрдпрддрди
рдареАрдХ рд╣реИ, рдпрд╣ рд╡рд╣ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣реА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдпрд░ рдкреНрд▓рдЧрдЗрдиред рдбреЙрдХреНрд╕ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рдПрдХ рдпрд╛ рджреЛ рдШрдВрдЯреЗ рдХреЗ рднреАрддрд░ рдХрд╛рдо рдХрд░ рд▓рд┐рдпрд╛ рдерд╛ред
@jarthod рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди? рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рд╣рд░ 3 рдорд╣реАрдиреЗ рдореЗрдВ рдирд╡реАрдиреАрдХреГрдд рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд░реНрдж рд╣реИред
@jarthod рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди? рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рд╣рд░ 3 рдорд╣реАрдиреЗ рдореЗрдВ рдирд╡реАрдиреАрдХреГрдд рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд░реНрдж рд╣реИред
рдореЗрд░реА рддрд░рдл рд╕реЗ рдирд╣реАрдВ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╣рд░ 3 рдорд╣реАрдиреЗ рдореЗрдВ рдореИрдиреБрдЕрд▓ рдирд╡реАрдиреАрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╛рдж рд░рдЦрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реЗрд╡рд╛ (updown.io) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдореБрдЭреЗ рд╕рдЪреЗрдд рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рднреА рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдВред рд╡реИрд╕реЗ рднреА рдореИрдВ рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ рдФрд░ рдкрд╛рд░рдВрдкрд░рд┐рдХ 1 рд╕рд╛рд▓ рдХрд╛ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдПрд╕рдПрд╕рдПрд▓ рдорд┐рд▓рд╛ред
рдЕрдм рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдореЗрдВ рдЕрдЧрд▓реЗ рд╕рд╛рд▓ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдиреЗ рдХрд╛ рдХрд╛рдо рд╣реИ
03-рдЕрдХреНрдЯреВрдмрд░-2020 рдХреЛ, рд░рд╛рдд 10:30 рдмрдЬреЗ, рдПрдбреНрд░рд┐рдпрди рд░реЗ-рдЬреЗрд░реНрдерди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:
рд░рд╛рдп
@jarthod рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди? рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рд╣рд░ 3 рдорд╣реАрдиреЗ рдореЗрдВ рдирд╡реАрдиреАрдХреГрдд рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджрд░реНрдж рд╣реИредрдореЗрд░реА рддрд░рдл рд╕реЗ рдирд╣реАрдВ, рдореИрдВ рдЕрднреА рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╣рд░ 3 рдорд╣реАрдиреЗ рдореЗрдВ рдореИрдиреБрдЕрд▓ рдирд╡реАрдиреАрдХрд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╛рдж рд░рдЦрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реЗрд╡рд╛ (updown.io) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдореБрдЭреЗ рд╕рдЪреЗрдд рдХрд░рддрд╛ рд╣реИред
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ, рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдХреЛрдб рд╕реЗ рдореИрдВ рдЬреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЙрд╕рд╕реЗ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рд╣рдо рдкреНрд░рддреНрдпреЗрдХ
sub.domain.tld
рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реЗрдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреЗрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:sub.domain.tld:latest
тАФ рд╡рд░реНрддрдорд╛рди*.domain.tld:latest
*.sub.domain.tld:latest
рдЗрд╕ рддрд░рд╣, рд╣рдо рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреА рдУрд░ рдкрд╣рд▓рд╛ рдХрджрдо рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рд╣рдо рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЦрд░реЛрдВрдЪрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред