SSL เชจเชพ เชœเชพเชฐเซ€เชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชคเชฐเชซ

เช˜เชฃเซ€ เชตเชพเชฐ เช…เชฎเชพเชฐเซ‡ SSL เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชชเชกเซ‡ เช›เซ‡. เชšเชพเชฒเซ‹ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชฏเชพเชฆ เช•เชฐเซ€เช (เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚).

  • เชชเซเชฐเชฆเชพเชคเชพ เชถเซ‹เชงเซ‹ (เชเช• เชธเชพเช‡เชŸ เชœเซเชฏเชพเช‚ เช…เชฎเซ‡ SSL เช–เชฐเซ€เชฆเซ€ เชถเช•เซ€เช).
  • CSR เชœเชจเชฐเซ‡เชŸ เช•เชฐเซ‹.
  • เชคเซ‡เชจเซ‡ เชชเซเชฐเชฆเชพเชคเชพเชจเซ‡ เชฎเซ‹เช•เชฒเซ‹.
  • เชกเซ‹เชฎเซ‡เชจ เชฎเชพเชฒเชฟเช•เซ€ เชšเช•เชพเชธเซ‹.
  • เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฎเซ‡เชณเชตเซ‹.
  • เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ‡ เช‡เชšเซเช›เชฟเชค เชซเซ‹เชฐเซเชฎเชฎเชพเช‚ เช•เชจเซเชตเชฐเซเชŸ เช•เชฐเซ‹ (เชตเซˆเช•เชฒเซเชชเชฟเช•). เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, pem เชฅเซ€ PKCS #12.
  • เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชชเชฐ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‹.

เชชเซเชฐเชฎเชพเชฃเชฎเชพเช‚ เชเชกเชชเซ€, เชธเชฐเชณ เช…เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซเช‚. เชœเซ‹ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฎเชนเชคเซเชคเชฎ เชเช• เชกเชเชจ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชนเซ‹เชฏ เชคเซ‹ เช† เชตเชฟเช•เชฒเซเชช เชเช•เชฆเชฎ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชœเซ‹ เชคเซ‡เชฎเชพเช‚เชจเชพ เชตเชงเซ เชนเซ‹เชฏ เช…เชจเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชคเซเชฐเชฃ เชตเชพเชคเชพเชตเชฐเชฃ เชนเซ‹เชฏ เชคเซ‹ เชถเซเช‚? เช‰เชคเซเชคเชฎ เชตเชฟเช•เชพเชธ - เชธเซเชŸเซ‡เชœเซ€เช‚เช— - เช‰เชคเซเชชเชพเชฆเชจ. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช† เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เชนเซเช‚ เชธเชฎเชธเซเชฏเชพเชฎเชพเช‚ เชฅเซ‹เชกเซเช‚ เชŠเช‚เชกเซ‡ เชœเชตเชพเชจเซ‹ เช…เชจเซ‡ เชเช• เช‰เช•เซ‡เชฒ เชถเซ‹เชงเชตเชพเชจเซ‹ เชชเซเชฐเชธเซเชคเชพเชต เชฎเซ‚เช•เซเช‚ เช›เซเช‚ เชœเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เชฌเชจเชพเชตเชตเชพ เช…เชจเซ‡ เชœเชพเชณเชตเชตเชพ เชชเชพเช›เชณ เช–เชฐเซเชšเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชธเชฎเชฏเชจเซ‡ เชตเชงเซ เช“เช›เซ‹ เช•เชฐเชถเซ‡. เชฒเซ‡เช–เชฎเชพเช‚ เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช…เชจเซ‡ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชฎเชพเชŸเซ‡ เชเช• เชจเชพเชจเซ€ เชฎเชพเชฐเซเช—เชฆเชฐเซเชถเชฟเช•เชพ เชนเชถเซ‡.

เชนเซเช‚ เช…เช—เชพเช‰เชฅเซ€ เช†เชฐเช•เซเชทเชฃ เช•เชฐเซ€เชถ: เช…เชฎเชพเชฐเซ€ เช•เช‚เชชเชจเซ€เชจเซ€ เชฎเซเช–เซเชฏ เชตเชฟเชถเซ‡เชทเชคเชพ .net เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชฎเซเชœเชฌ, IIS เช…เชจเซ‡ เช…เชจเซเชฏ เชธเซเช•เซเชฐเซ-เชธเช‚เชฌเช‚เชงเชฟเชค เช›เซ‡. เชคเซ‡เชฅเซ€, ACME เช•เซเชฒเชพเชฏเช‚เชŸ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชคเชฎเชพเชฎ เช•เซเชฐเชฟเชฏเชพเช“ เชชเชฃ เชตเชฟเชจเซเชกเซ‹เชเชจเชพ เช‰เชชเชฏเซ‹เช—เชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เชตเชฐเซเชฃเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชœเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เช›เซ‡ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชชเซƒเชทเซเช เชญเซ‚เชฎเชฟ เชกเซ‡เชŸเชพ

เชฒเซ‡เช–เช• เชฆเซเชตเชพเชฐเชพ เชฐเชœเซ‚ เช•เชฐเชพเชฏเซ‡เชฒ เช•เช‚เชชเชจเซ€ เช•เซ‡. URL (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡): company.tld

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ X เช เช…เชฎเชพเชฐเชพ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธเชฎเชพเช‚เชฅเซ€ เชเช• เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชนเซเช‚ เชจเชฟเชทเซเช•เชฐเซเชท เชชเชฐ เช†เชตเซเชฏเซ‹ เช›เซเช‚ เช•เซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช…เชฎเชพเชฐเซ‡ เชฎเชนเชคเซเชคเชฎ เชธเชฎเชฏ เชฌเชšเชค เชคเชฐเชซ เช†เช—เชณ เชตเชงเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชฎเชพเช‚ เชšเชพเชฐ เชตเชพเชคเชพเชตเชฐเชฃ เช›เซ‡: เชกเซ‡เชต, เชŸเซ‡เชธเซเชŸ, เชธเซเชŸเซ‡เชœเซ€เช‚เช— เช…เชจเซ‡ เชชเซเชฐเซ‹เชกเช•เซเชถเชจ. เชฆเซ‡เชต เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช…เชฎเชพเชฐเซ€ เชฌเชพเชœเซเชฎเชพเช‚ เช›เซ‡, เชธเซเชŸเซ‡เชœเชฟเช‚เช— เช…เชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจ เช•เซเชฒเชพเชฏเช‚เชŸ เชฌเชพเชœเซ เชชเชฐ เช›เซ‡.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพ เช เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชพเช‚ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชฎเซ‹เชกเซเชฏเซเชฒเซ‹ เช›เซ‡ เชœเซ‡ เชธเชฌเชกเซ‹เชฎเซ‡เชจเซเชธ เชคเชฐเซ€เช•เซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡.

เชเชŸเชฒเซ‡ เช•เซ‡, เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชจเซ€เชšเซ‡เชจเซเช‚ เชšเชฟเชคเซเชฐ เช›เซ‡:

เชฆเซ‡เชต
เชŸเซ‡เชธเซเชŸ
เชธเซเชŸเซ‡เชœเซ€เช‚เช—
เช‰เชคเซเชชเชพเชฆเชจ

projectX.dev.company.tld
projectX.test.company.tld
staging.projectX.tld
projectX.tld

module1.projectX.dev.company.tld
module1.projectX.test.company.tld
module1.staging.projectX.tld
module1.projectX.tld

module2.projectX.dev.company.tld
module2.projectX.test.company.tld
module2.staging.projectX.tld
module2.projectX.tld

...
...
...
...

moduleN.projectX.dev.company.tld
moduleN.projectX.test.company.tld
moduleN.staging.projectX.tld
moduleN.projectX.tld

เช‰เชคเซเชชเชพเชฆเชจ เชฎเชพเชŸเซ‡, เช–เชฐเซ€เชฆเซ‡เชฒ เชตเชพเช‡เชฒเซเชกเช•เชพเชฐเซเชก เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชนเซ€เช‚ เช•เซ‹เชˆ เชชเซเชฐเชถเซเชจเซ‹ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชคเซ‡ เชฎเชพเชคเซเชฐ เชธเชฌเชกเซ‹เชฎเซ‡เชจเชจเชพ เชชเซเชฐเชฅเชฎ เชธเซเชคเชฐเชจเซ‡ เช†เชตเชฐเซ€ เชฒเซ‡ เช›เซ‡. เชคเชฆเชจเซเชธเชพเชฐ, เชœเซ‹ *.projectX.tld เชฎเชพเชŸเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡ staging.projectX.tld เชฎเชพเชŸเซ‡ เช•เชพเชฎ เช•เชฐเชถเซ‡, เชชเชฐเช‚เชคเซ module1.staging.projectX.tld เชฎเชพเชŸเซ‡ เชจเชนเซ€เช‚. เชนเซเช‚ เช…เชฒเช— เช–เชฐเซ€เชฆเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจเชฅเซ€.

เช…เชจเซ‡ เช† เชซเช•เซเชค เชเช• เช•เช‚เชชเชจเซ€เชจเชพ เชเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเชพ เช‰เชฆเชพเชนเชฐเชฃ เชชเชฐ เช›เซ‡. เช…เชจเซ‡ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ, เช…เชฒเชฌเชคเซเชค, เชเช•เชฒเซ‹ เชจเชฅเซ€.

เช† เชธเชฎเชธเซเชฏเชพเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเชพเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เช•เชพเชฐเชฃเซ‹ เช†เชจเชพ เชœเซ‡เชตเชพ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

  • เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ Google เช SSL เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซ€ เชฎเชนเชคเซเชคเชฎ เชฎเชพเชจเซเชฏเชคเชพ เช…เชตเชงเชฟ เช˜เชŸเชพเชกเชตเชพเชจเซ‹ เชชเซเชฐเชธเซเชคเชพเชต เชฎเซ‚เช•เซเชฏเซ‹ เช›เซ‡. เชคเชฎเชพเชฎ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชธเชพเชฅเซ‡.
  • เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เช…เชจเซ‡ เชธเชฎเช—เซเชฐ เช•เช‚เชชเชจเซ€เชจเซ€ เช†เช‚เชคเชฐเชฟเช• เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เชฎเชพเชŸเซ‡ SSL เชœเชพเชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชœเชพเชณเชตเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡.
  • เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธเชจเซเช‚ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชฏ เชธเช‚เช—เซเชฐเชน, เชœเซ‡ DNS เช…เชจเซ‡ เช…เชจเซเช—เชพเชฎเซ€ เชธเซเชตเชšเชพเชฒเชฟเชค เชจเชตเซ€เช•เชฐเชฃเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเซ‹เชฎเซ‡เชจ เชฎเชพเชจเซเชฏเชคเชพเชจเซ€ เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชŸเซเชฐเชธเซเชŸเชจเชพ เชฎเซเชฆเซเชฆเชพเชจเซ‡ เชชเชฃ เชนเชฒ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฎ เช›เชคเชพเช‚, CNAME เช เชคเซƒเชคเซ€เชฏ-เชชเช•เซเชท เชธเช‚เชธเชพเชงเชจ เช•เชฐเชคเชพเช‚ เชญเชพเช—เซ€เชฆเชพเชฐ/เชเช•เซเชเชฟเช•เซเชฏเซเชŸเชฐ เช•เช‚เชชเชจเซ€เชจเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เชตเชงเซ เชตเชฟเชถเซเชตเชพเชธเชชเชพเชคเซเชฐ เช›เซ‡.
  • เช เซ€เช• เช›เซ‡, เช›เซ‡เชตเชŸเซ‡, เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชตเชพเช•เซเชฏ "เชจ เชนเซ‹เชตเชพ เช•เชฐเชคเชพเช‚ เชนเซ‹เชตเซเช‚ เชตเชงเซ เชธเชพเชฐเซเช‚ เช›เซ‡" เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฌเช‚เชงเชฌเซ‡เชธเซ‡ เช›เซ‡.

SSL เชชเซเชฐเชฆเชพเชคเชพ เช…เชจเซ‡ เชชเซเชฐเชฟเชชเซ‡เชฐเซ‡เชŸเชฐเซ€ เชธเซเชŸเซ‡เชชเซเชธ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เชฎเชซเชค SSL เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เชตเชฟเช•เชฒเซเชชเซ‹เชฎเชพเช‚เชฅเซ€, เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เช…เชจเซ‡ เชฒเซ‡เชŸเชธเซ‡เชจเช•เซเชฐเชฟเชชเซเชŸเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ. เช† เชฎเชพเชŸเซ‡ DNS (เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เช…เชจเซเชฏ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ) เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชฆเซเชตเชพเชฐเชพ เชนเซ‹เชธเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเซเช‚ เชคเซ‡เชฎเชจเชพ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชšเชพเชนเช• เชจเชฅเซ€. เชคเซ‡เชฅเซ€, letsencrypt เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‹ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹.
เชตเชพเช‡เชฒเซเชกเช•เชพเชฐเซเชก SSL เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชกเซ‹เชฎเซ‡เชจเชจเซ€ เชฎเชพเชฒเชฟเช•เซ€ เชšเช•เชพเชธเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชœเชพเชฐเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชคเซ‡เชจเซ€ เช…เชจเซเช—เชพเชฎเซ€ เชšเช•เชพเชธเชฃเซ€ เชธเชพเชฅเซ‡ เช•เซ‡เชŸเชฒเชพเช• DNS เชฐเซ‡เช•เซ‹เชฐเซเชก (TXT เช…เชฅเชตเชพ CNAME) เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. Linux เชชเชพเชธเซ‡ เชเช• เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ เช›เซ‡ - เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ, เชœเซ‡ เชคเชฎเชจเซ‡ เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡ (เช…เชฅเชตเชพ เช•เซ‡เชŸเชฒเชพเช• DNS เชชเซเชฐเชฆเชพเชคเชพเช“ เชฎเชพเชŸเซ‡) เช† เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เชฎเชพเช‚เชฅเซ€ เชธเชฎเชพเชจ เชตเชฟเชจเซเชกเซ‹เช เชฎเชพเชŸเซ‡ เชฎเชณเซ€ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚ ACME เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ เชฎเชพเชŸเซ‡เชจเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เชœเซ‡เชจเชพ เชชเชฐ เชฎเซ‡เช‚ เชธเซ‡เชŸเชฒ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ WinACME.

เช…เชจเซ‡ เชกเซ‹เชฎเซ‡เชจ เชฎเชพเชŸเซ‡ เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡, เชšเชพเชฒเซ‹ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช†เช—เชณ เชตเชงเซ€เช:

SSL เชจเชพ เชœเชพเชฐเซ€เชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชคเชฐเชซ

เช…เชฎเชจเซ‡ เช›เซ‡เชฒเซเชฒเชพ เชจเชฟเชทเซเช•เชฐเซเชทเชฎเชพเช‚ เชฐเชธ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡, เชตเชพเช‡เชฒเซเชกเช•เชพเชฐเซเชก เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชœเชพเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชกเซ‹เชฎเซ‡เชจ เชฎเชพเชฒเชฟเช•เซ€ เชšเช•เชพเชธเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช‰เชชเชฒเชฌเซเชง เชตเชฟเช•เชฒเซเชชเซ‹:

  1. DNS เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชฎเซ‡เชจเซเชฏเซเช…เชฒเซ€ เชฌเชจเชพเชตเชตเซเช‚ (เชธเซเชตเชšเชพเชฒเชฟเชค เช…เชชเชกเซ‡เชŸ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เชจเชฅเซ€)
  2. Acme-dns เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ DNS เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเชตเซเช‚ (เชตเชงเซ เชตเชฟเช—เชคเซ‹ เชฎเชพเชŸเซ‡, เชœเซเช“ เช…เชนเซ€เช‚.
  3. เชคเชฎเชพเชฐเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ DNS เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชฌเชจเชพเชตเชตเชพ (certbot เชฎเชพเชŸเซ‡ เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ เชชเซเชฒเช—เช‡เชจ เชœเซ‡เชตเซเช‚ เชœ).

เชชเซเชฐเชฅเชฎ เชจเชœเชฐเชฎเชพเช‚, เชคเซเชฐเซ€เชœเซ‹ เชฎเซเชฆเซเชฆเซ‹ เชเช•เชฆเชฎ เชฏเซ‹เช—เซเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซ‹ DNS เชชเซเชฐเชฆเชพเชคเชพ เช† เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเชคเซเช‚ เชจเชฅเซ€? เช…เชจเซ‡ เช…เชฎเชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‡เชธเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‡เชธ CNAME เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เช›เซ‡, เชฆเชฐเซ‡เช• เชœเชฃ เชคเซ‡เชฎเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€, เช…เชฎเซ‡ เชฌเชฟเช‚เชฆเซ 2 เชชเชฐ เช…เชŸเช•เซ€เช เช›เซ€เช, เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ ACME-DNS เชธเชฐเซเชตเชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชœเชˆเช เช›เซ€เช.

ACME-DNS เชธเชฐเซเชตเชฐ เชธเซ‡เชŸเช…เชช เช…เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชœเชพเชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชฎเซ‡เช‚ 2nd.pp.ua เชกเซ‹เชฎเซ‡เชจ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡, เช…เชจเซ‡ เชนเซเช‚ เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถ.

เชซเชฐเชœเชฟเชฏเชพเชค เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เชธเชฐเซเชตเชฐเชจเชพ เชฏเซ‹เช—เซเชฏ เชธเช‚เชšเชพเชฒเชจ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเชพ เชกเซ‹เชฎเซ‡เชจ เชฎเชพเชŸเซ‡ NS เช…เชจเซ‡ A เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเชตเซเช‚ เช›เซ‡. เช…เชจเซ‡ เชชเซเชฐเชฅเชฎ เช…เชชเซเชฐเชฟเชฏ เช•เซเชทเชฃ เช•เซ‡ เชœเซ‡เชจเซ‹ เชฎเซ‡เช‚ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹ เชคเซ‡ เช เช›เซ‡ เช•เซ‡ เช•เซเชฒเชพเช‰เชกเชซเซเชฒเซ‡เชฐ (เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชซเซเชฐเซ€ เชฎเซ‹เชกเชฎเชพเช‚) เชคเชฎเชจเซ‡ เชเช• เชœ เชนเซ‹เชธเซเชŸ เชฎเชพเชŸเซ‡ เชเช• เชธเชพเชฅเซ‡ NS เช…เชจเซ‡ A เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชคเซเช‚ เชจเชฅเซ€. เชเชตเซเช‚ เชจเชฅเซ€ เช•เซ‡ เช† เชเช• เชธเชฎเชธเซเชฏเชพ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฌเช‚เชงเชจเชฎเชพเช‚ เชคเซ‡ เชถเช•เซเชฏ เช›เซ‡. เชธเชชเซ‹เชฐเซเชŸเซ‡ เชœเชตเชพเชฌ เช†เชชเซเชฏเซ‹ เช•เซ‡ เชคเซ‡เชฎเชจเซ€ เชชเซ‡เชจเชฒ เช† เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชคเซ€ เชจเชฅเซ€. เช•เซ‹เชˆ เชตเชพเช‚เชงเซ‹ เชจเชฅเซ€, เชšเชพเชฒเซ‹ เชฌเซ‡ เชเชจเซเชŸเซเชฐเซ€ เชฌเชจเชพเชตเซ€เช:

acmens.2nd.pp.ua. IN A 35.237.128.147
acme.2nd.pp.ua. IN NS acmens.2nd.pp.ua.

เช† เชคเชฌเช•เซเช•เซ‡, เช†เชชเชฃเซ‡ เชฏเชœเชฎเชพเชจเชจเซ‡ เช‰เช•เซ‡เชฒเชตเซเช‚ เชœเซ‹เชˆเช acmens.2nd.pp.ua.

$ ping acmens.2nd.pp.ua
PING acmens.2nd.pp.ua (35.237.128.147) 56(84) bytes of data

เชชเชฐเช‚เชคเซ acme.2nd.pp.ua เช‰เช•เซ‡เชฒเชถเซ‡ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ DNS เชธเชฐเซเชตเชฐ เช•เซ‡ เชœเซ‡ เชคเซ‡เชจเซ‡ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡ เชคเซ‡ เชนเชœเซ€ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เชจเชฅเซ€.

เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡, เชšเชพเชฒเซ‹ ACME-DNS เชธเชฐเซเชตเชฐเชจเซ‡ เชธเซ‡เชŸ เช•เชฐเชตเชพ เช…เชจเซ‡ เชถเชฐเซ‚ เช•เชฐเชตเชพ เชคเชฐเชซ เช†เช—เชณ เชตเชงเซ€เช. เชนเซเช‚ เชคเซ‡เชจเซ‡ เช‰เชฌเซเชจเซเชŸเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชœเซ€เชตเซ€เชถ เช—เซ‹เชฆเซ€ เช•เชจเซเชŸเซ‡เชจเชฐ, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เช—เซ‹เชฒเชพเช‚เช— เชนเซ‹เชฏ เชคเซเชฏเชพเช‚ เชคเซ‡เชจเซ‡ เชšเชฒเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชตเชฟเชจเซเชกเซ‹เช เชชเชฃ เชธเชพเชฐเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชนเซเช‚ เชนเชœเซ€ เชชเชฃ Linux เชธเชฐเซเชตเชฐเชจเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซเช‚ เช›เซเช‚.

เชœเชฐเซ‚เชฐเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เช…เชจเซ‡ เชซเชพเช‡เชฒเซ‹ เชฌเชจเชพเชตเซ‹:

$ mkdir config
$ mkdir data
$ touch config/config.cfg

เชšเชพเชฒเซ‹ เชคเชฎเชพเชฐเชพ เชฎเชจเชชเชธเช‚เชฆ เชŸเซ‡เช•เซเชธเซเชŸ เชเชกเชฟเชŸเชฐ เชธเชพเชฅเซ‡ vim เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช…เชจเซ‡ เชจเชฎเซ‚เชจเชพเชจเซ‡ config.cfg เชฎเชพเช‚ เชชเซ‡เชธเซเชŸ เช•เชฐเซ€เช เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ.

เชธเชซเชณ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡, เชธเชพเชฎเชพเชจเซเชฏ เช…เชจเซ‡ เชเชชเซ€เช†เชˆ เชตเชฟเชญเชพเช—เซ‹เชจเซ‡ เชธเซเชงเชพเชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡:

[general]
listen = "0.0.0.0:53"
protocol = "both"
domain = "acme.2nd.pp.ua"
nsname = "acmens.2nd.pp.ua" 
nsadmin = "admin.2nd.pp.ua" 
records = 
    "acme.2nd.pp.ua. A 35.237.128.147",
    "acme.2nd.pp.ua. NS acmens.2nd.pp.ua.",                                                                                                                                                                                                  ]
...
[api]
...
tls = "letsencrypt"
โ€ฆ

เช‰เชชเชฐเชพเช‚เชค, เชตเซˆเช•เชฒเซเชชเชฟเช• เชฐเซ€เชคเซ‡, เชธเซ‡เชตเชพเชจเซ€ เชฎเซเช–เซเชฏ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชกเซ‹เช•เชฐ-เช•เช‚เชชเซ‹เช เชซเชพเช‡เชฒ เชฌเชจเชพเชตเซ‹:

version: '3.7'
services:
  acmedns:
    image: joohoi/acme-dns:latest
    ports:
      - "443:443"
      - "53:53"
      - "53:53/udp"
      - "80:80"
    volumes:
      - ./config:/etc/acme-dns:ro
      - ./data:/var/lib/acme-dns

เชคเซˆเชฏเชพเชฐ เช›เซ‡. เชคเชฎเซ‡ เชฆเซ‹เชกเซ€ เชถเช•เซ‹ เช›เซ‹.

$ docker-compose up -d

เช† เชคเชฌเช•เซเช•เซ‡, เชฏเชœเชฎเชพเชจเชจเซ‡ เช‰เช•เซ‡เชฒเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช acme.2nd.pp.ua, เช…เชจเซ‡ 404 เชชเชฐ เชฆเซ‡เช–เชพเชฏ เช›เซ‡ https://acme.2nd.pp.ua

$ ping acme.2nd.pp.ua
PING acme.2nd.pp.ua (35.237.128.147) 56(84) bytes of data.

$ curl https://acme.2nd.pp.ua
404 page not found

เชœเซ‹ เช† เชฆเซ‡เช–เชพเชคเซเช‚ เชจเชฅเซ€ - docker logs -f <container_name> เชฎเชฆเชฆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชธเชพเชฐเซเช‚, เชฒเซ‹เช— เช–เซ‚เชฌ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช›เซ‡.

เช…เชฎเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช. เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เชคเชฐเซ€เช•เซ‡ เชชเชพเชตเชฐเชถเซ‡เชฒ เช–เซ‹เชฒเซ‹ เช…เชจเซ‡ winacme เชšเชฒเชพเชตเซ‹. เช…เชฎเชจเซ‡ เชšเซ‚เช‚เชŸเชฃเซ€เชฎเชพเช‚ เชฐเชธ เช›เซ‡:

  • M: เชจเชตเซเช‚ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเซ‹ (เชธเช‚เชชเซ‚เชฐเซเชฃ เชตเชฟเช•เชฒเซเชชเซ‹)
  • 2: เชฎเซ‡เชจเซเชฏเซเช…เชฒ เช‡เชจเชชเซเชŸ
  • 2: [dns-01] acme-dns เชธเชพเชฅเซ‡ เชšเช•เชพเชธเชฃเซ€ เชฐเซ‡เช•เซ‹เชฐเซเชก เชฌเชจเชพเชตเซ‹ (https://github.com/joohoi/acme-dns)
  • เชœเซเชฏเชพเชฐเซ‡ ACME-DNS เชธเชฐเซเชตเชฐเชจเซ€ เชฒเชฟเช‚เช• เชตเชฟเชถเซ‡ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซเชฏเชพเชฐเซ‡ เชœเชตเชพเชฌเชฎเชพเช‚ เชฌเชจเชพเชตเซ‡เชฒ เชธเชฐเซเชตเชฐ (https)เชจเซเช‚ URL เชฆเชพเช–เชฒ เช•เชฐเซ‹. acme-dns เชธเชฐเซเชตเชฐเชจเซเช‚ URL: https://acme.2nd.pp.ua

เชœเชตเชพเชฌเชฎเชพเช‚, เช•เซเชฒเชพเชฏเช‚เชŸ เชเช• เชฐเซ‡เช•เซ‹เชฐเซเชก เชœเชพเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ เชนเชพเชฒเชจเชพ DNS เชธเชฐเซเชตเชฐเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ (เชตเชจ-เชŸเชพเช‡เชฎ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ):

[INFO] Creating new acme-dns registration for domain 1nd.pp.ua

Domain:              1nd.pp.ua
Record:               _acme-challenge.1nd.pp.ua
Type:                   CNAME
Content:              c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.
Note:                   Some DNS control panels add the final dot automatically.
                           Only one is required.

SSL เชจเชพ เชœเชพเชฐเซ€เชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชคเชฐเชซ

เช…เชฎเซ‡ เชœเชฐเซ‚เชฐเซ€ เชเชจเซเชŸเซเชฐเซ€ เชฌเชจเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชคเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€:

SSL เชจเชพ เชœเชพเชฐเซ€เชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชคเชฐเชซ

$ dig CNAME _acme-challenge.1nd.pp.ua +short
c82a88a5-499f-464f-96e4-be7f606a3b47.acme.2nd.pp.ua.

เช…เชฎเซ‡ เชชเซเชทเซเชŸเชฟ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เช…เชฎเซ‡ winacme เชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชเชจเซเชŸเซเชฐเซ€ เชฌเชจเชพเชตเซ€ เช›เซ‡, เช…เชจเซ‡ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชšเชพเชฒเซ เชฐเชพเช–เซ€เช เช›เซ€เช:

SSL เชจเชพ เชœเชพเชฐเซ€เชจเซ‡ เชธเซเชตเชšเชพเชฒเชฟเชค เช•เชฐเชตเชพ เชคเชฐเชซ

เช•เซเชฒเชพเชฏเชจเซเชŸ เชคเชฐเซ€เช•เซ‡ certbot เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เชตเชฐเซเชฃเชตเซ‡เชฒ เช›เซ‡ เช…เชนเซ€เช‚.

เช† เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชชเซ‚เชฐเซเชฃ เช•เชฐเซ‡ เช›เซ‡, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชตเซ‡เชฌ เชธเชฐเซเชตเชฐ เชชเชฐ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชœเซ‹, เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เชฌเชจเชพเชตเชคเซ€ เชตเช–เชคเซ‡, เชคเชฎเซ‡ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐเชฎเชพเช‚ เช•เชพเชฐเซเชฏ เชชเชฃ เชฌเชจเชพเชตเซ‹ เช›เซ‹, เชคเซ‹ เชญเชตเชฟเชทเซเชฏเชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเชจเซ‡ เช…เชชเชกเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช†เชชเชฎเซ‡เชณเซ‡ เชฅเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹