SSL ๋ฐœ๊ธ‰ ์ž๋™ํ™”๋ฅผ ํ–ฅํ•˜์—ฌ

SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ์–ตํ•ด ๋ด…์‹œ๋‹ค(๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ).

  • ๊ณต๊ธ‰์ž(SSL์„ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ดํŠธ)๋ฅผ ์ฐพ์œผ์„ธ์š”.
  • CSR์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์ œ๊ณต์—…์ฒด์— ๋ณด๋‚ด์„ธ์š”.
  • ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ ํ™•์ธํ•˜์„ธ์š”.
  • ์ธ์ฆ์„œ๋ฅผ ๋ฐ›์œผ์„ธ์š”.
  • ์ธ์ฆ์„œ๋ฅผ ํ•„์ˆ˜ ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค(์„ ํƒ ์‚ฌํ•ญ). ์˜ˆ๋ฅผ ๋“ค์–ด pem์—์„œ PKCS #12๊นŒ์ง€์ž…๋‹ˆ๋‹ค.
  • ์›น ์„œ๋ฒ„์— ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋น„๊ต์  ๋น ๋ฅด๊ณ  ๋ณต์žกํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์€ ์ตœ๋Œ€ XNUMX๊ฐœ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ˆ˜๊ฐ€ ๋” ๋งŽ๊ณ  ํ™˜๊ฒฝ์ด ์„ธ ๊ฐœ ์ด์ƒ ์žˆ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ํด๋ž˜์‹ ๊ฐœ๋ฐœ - ์ค€๋น„ - ์ œ์ž‘. ์ด ๊ฒฝ์šฐ ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋ฌธ์ œ๋ฅผ ์ข€ ๋” ๊นŠ์ด ํŒŒ๊ณ ๋“ค์–ด ์ธ์ฆ์„œ ์ƒ์„ฑ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ๋”์šฑ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์„ ์ฐพ์„ ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ์‚ฌ์—๋Š” ๋ฌธ์ œ ๋ถ„์„๊ณผ ๋ฐ˜๋ณต์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๊ฐ€์ด๋“œ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ์˜ˆ์•ฝํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ €ํฌ ํšŒ์‚ฌ์˜ ์ฃผ์š” ์ „๋ฌธ ๋ถ„์•ผ๋Š” .net์ด๊ณ  ๊ทธ์— ๋”ฐ๋ผ IIS ๋ฐ ๊ธฐํƒ€ Windows ๊ด€๋ จ ์ œํ’ˆ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ACME ํด๋ผ์ด์–ธํŠธ์™€ ๊ทธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž‘์—…๋„ Windows ์‚ฌ์šฉ ๊ด€์ ์—์„œ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค.

๋ˆ„๊ตฌ์—๊ฒŒ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ ์ผ๋ถ€ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋Š”

์ €์ž๊ฐ€ ๋Œ€ํ‘œํ•˜๋Š” K์‚ฌ. URL(์˜ˆ): company.tld

ํ”„๋กœ์ ํŠธ X๋Š” ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ์ž‘์—…ํ•˜๋Š” ๋™์•ˆ ์ธ์ฆ์„œ ์ž‘์—… ์‹œ ์‹œ๊ฐ„์„ ์ตœ๋Œ€ํ•œ ์ ˆ์•ฝํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์—๋Š” ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ์Šคํ…Œ์ด์ง•, ํ”„๋กœ๋•์…˜์ด๋ผ๋Š” ๋„ค ๊ฐ€์ง€ ํ™˜๊ฒฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ๊ณผ ํ…Œ์ŠคํŠธ๋Š” ์šฐ๋ฆฌ ์ธก์—์„œ, ์Šคํ…Œ์ด์ง•๊ณผ ํ”„๋กœ๋•์…˜์€ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์˜ ํŠน๋ณ„ํ•œ ํŠน์ง•์€ ํ•˜์œ„ ๋„๋ฉ”์ธ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆ์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฆ‰, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทธ๋ฆผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ๋ธŒ
Test
์ค€๋น„
์ƒ์‚ฐ

projectX.dev.company.tld
projectX.test.company.tld
์Šคํ…Œ์ด์ง•.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 ์ธ์ฆ์„œ์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ ์ค‘์—์„œ cloudflare ๋ฐ letsencrypt๊ฐ€ ๊ณ ๋ ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด(๋ฐ ์ผ๋ถ€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ)์˜ DNS๋Š” cloudflare์—์„œ ํ˜ธ์ŠคํŒ…๋˜์ง€๋งŒ ์ €๋Š” ํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ letsencrypt๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
์™€์ผ๋“œ์นด๋“œ SSL ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ์—๋Š” ์ผ๋ถ€ DNS ๋ ˆ์ฝ”๋“œ(TXT ๋˜๋Š” CNAME)๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์‹œ ์ด๋ฅผ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Linux์—๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. certbot๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ(๋˜๋Š” ์ผ๋ถ€ DNS ๊ณต๊ธ‰์ž์˜ ๊ฒฝ์šฐ ์™„์ „ํžˆ) ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows์˜ ๊ฒฝ์šฐ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค ๋‚ด๊ฐ€ ๊ฒฐ์ •ํ•œ ACME ํด๋ผ์ด์–ธํŠธ ์˜ต์…˜ WinACME.

๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ธ์ฆ์„œ ์ƒ์„ฑ์„ ์ง„ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

SSL ๋ฐœ๊ธ‰ ์ž๋™ํ™”๋ฅผ ํ–ฅํ•˜์—ฌ

์šฐ๋ฆฌ๋Š” ๋งˆ์ง€๋ง‰ ๊ฒฐ๋ก , ์ฆ‰ ์™€์ผ๋“œ์นด๋“œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰์„ ์œ„ํ•ด ๋„๋ฉ”์ธ ์†Œ์œ ๊ถŒ์„ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ˆ˜๋™์œผ๋กœ DNS ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ(์ž๋™ ์—…๋ฐ์ดํŠธ๋Š” ์ง€์›๋˜์ง€ ์•Š์Œ)
  2. acme-dns ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ(์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—.
  3. ์ž์ฒด ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ(certbot์šฉ cloudflare ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์œ ์‚ฌ)

์–ธ๋œป ๋ณด๋ฉด ์„ธ ๋ฒˆ์งธ ์‚ฌํ•ญ์ด ๋งค์šฐ ์ ํ•ฉํ•˜์ง€๋งŒ DNS ๊ณต๊ธ‰์ž๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋Š” ๋ชจ๋‘๊ฐ€ CNAME ๋ ˆ์ฝ”๋“œ๋ฅผ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ง€์  2์—์„œ ๋ฉˆ์ถ”๊ณ  ACME-DNS ์„œ๋ฒ„ ๊ตฌ์„ฑ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ACME-DNS ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ํ”„๋กœ์„ธ์Šค

์˜ˆ๋ฅผ ๋“ค์–ด 2nd.pp.ua๋ผ๋Š” ๋„๋ฉ”์ธ์„ ๋งŒ๋“ค์—ˆ๊ณ  ์•ž์œผ๋กœ๋„ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

ํ•„์ˆ˜ ์š”๊ตฌ์‚ฌํ•ญ ์„œ๋ฒ„๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ NS ๋ฐ A ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ œ๊ฐ€ ์ง๋ฉดํ•œ ์ฒซ ๋ฒˆ์งธ ๋ถˆ์พŒํ•œ ์ˆœ๊ฐ„์€ cloudflare(์ ์–ด๋„ ๋ฌด๋ฃŒ ์‚ฌ์šฉ ๋ชจ๋“œ์—์„œ๋Š”)๊ฐ€ ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•ด 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 ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์‹œ์ž‘์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‚ด ์šฐ๋ถ„ํˆฌ ์„œ๋ฒ„์— ์‚ด ๊ฒƒ์ž…๋‹ˆ๋‹ค ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์ด์ง€๋งŒ golang์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ณณ์ด๋ผ๋ฉด ์–ด๋””์—์„œ๋‚˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Windows๋„ ๊ฝค ์ ํ•ฉํ•˜์ง€๋งŒ ์ €๋Š” ์—ฌ์ „ํžˆ Linux ์„œ๋ฒ„๋ฅผ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

์„ ํ˜ธํ•˜๋Š” ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋กœ vim์„ ์‚ฌ์šฉํ•˜๊ณ  ์ƒ˜ํ”Œ์„ config.cfg์— ๋ถ™์—ฌ๋„ฃ์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌ์„ฑ.

์„ฑ๊ณต์ ์ธ ์ž‘์—…์„ ์œ„ํ•ด์„œ๋Š” ์ผ๋ฐ˜ ๋ฐ API ์„น์…˜์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

[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"
โ€ฆ

๋˜ํ•œ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์„œ๋น„์Šค ๋””๋ ‰ํ„ฐ๋ฆฌ์— docker-compose ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

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> ๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„ ๋กœ๊ทธ๋Š” ๊ฝค ์ฝ๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์ธ์ฆ์„œ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ powershell์„ ์—ด๊ณ  winacme๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์„ ๊ฑฐ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • M: ์ƒˆ ์ธ์ฆ์„œ ์ƒ์„ฑ(์ „์ฒด ์˜ต์…˜)
  • 2:์ˆ˜๋™ ์ž…๋ ฅ
  • 2: [dns-01] acme-dns๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค(https://github.com/joohoi/acme-dns)
  • ACME-DNS ์„œ๋ฒ„์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ๋ฌป๋Š” ์งˆ๋ฌธ์— ๋‹ต๋ณ€์— ์ƒ์„ฑ๋œ ์„œ๋ฒ„์˜ URL(https)์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. 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์„ ํด๋ผ์ด์–ธํŠธ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

์ด๋กœ์จ ์ธ์ฆ์„œ ์ƒ์„ฑ ๊ณผ์ •์ด ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ, ์›น ์„œ๋ฒ„์— ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์Šค์ผ€์ค„๋Ÿฌ์—์„œ๋„ ์ž‘์—…์„ ์ƒ์„ฑํ•˜๋ฉด ๋‚˜์ค‘์— ์ธ์ฆ์„œ ๊ฐฑ์‹  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž๋™์œผ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€