letsencrypt์ ๊ฐ์ ์๋น์ค๋ฅผ ์ด์ฉํ์ฌ ๋ฌด๋ฃ ์ธ์ฆ์๋ฅผ ๋ง๋๋ ๊ฒ ์์ฒด๋ ๋ค์ํ ๋งค๋ด์ผ์ด ์กด์ฌํ๋ฏ๋ก ์คํต.
(๋ณธ ํฌ์คํ ์์๋ macOS Ventura๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ฌ ์์ฑํ์์ต๋๋ค.)
๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด, ์๋ ๋ช ๋ น์ด๋ฅผ ์น๊ณ , ์ํค๋ ๋๋ก ์ฌ์ดํธ ์ฃผ์์ ์ด๋ฉ์ผ ๋ฑ์ ์ ๋ ฅํ๊ณ , DNS ์ ๊ณต์์์ ์ฑ๋ฆฐ์ง TXT๋ฅผ ์ ๋ฐ์ดํธํด ์ฃผ๋ฉด ๋๋ค. (DNS ์ ๊ทผ ๊ถํ์ด ํ์ํ๋ค.)
sudo certbot certonly --manual -v --preferred-challenges dns
macOS ๊ธฐ์ค, manual๋ก letsencrypt๋ก ์ธ์ฆ์๋ฅผ ๋ง๋ค๋ฉด /private/etc/letsencrypt/archive/[์ฌ์ดํธ์ฃผ์] ์ ๋ค์๊ณผ ๊ฐ์ ๋ค ๊ฐ์ ํ์ผ์ด ์์ฑ๋๋ค.
์ฌ๊ธฐ์ cert1.pem ํ์ผ๊ณผ privkey1.pem ํ์ผ์ ํ ์คํธ ํธ์ง๊ธฐ๋ ๋ฉ๋ชจ์ฅ ๋ฑ ํธ์ง ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ผ๋ก ์ด๋ฉด, CERTIFICATE ์ ๋ณด์ KEY ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ค. (์๋๋ ์๋ต๋ ํํ๋ก, ์ค์ ๋ก๋ ์ฝ 30์ค์ ๋ฌํ๋ ๋ด์ฉ์ด ์ ํ์์ ๊ฒ์ด๋ค.) ์ด ๋๊ฐ์ง๋ฅผ ๊ฐ๊ฐ ๋ณต์ฌํ๊ฑฐ๋, ๋ฉ๋ชจ์ฅ์ ์ ์ฅํด ๋๋ค.
-----BEGIN CERTIFICATE-----
MIIFIz************
.....
***********AKY=
-----END CERTIFICATE-----
(cert1.pem)
-----BEGIN PRIVATE KEY-----
MIIEv**************
.....
**********epMpFsA==
-----END PRIVATE KEY-----
(privkey1.pem)
๊ทธ ํ, Portainer์ container์์ nextcloud ์ปจํ ์ด๋๋ฅผ ์ ํํ๊ณ , console์ ์ ์ํ๋ค.
console์์ ์๋ ๋ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
touch cert1.crt
touch cert1.key
๊ทธ ํ, nano ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ์ฌ cert1.crt์ cert1.pem์ ๋ด์ฉ์, cert1.key์ privkey1.pem์ ๋ด์ฉ์ ๋ถ์ฌ๋ฃ๋๋ค.
nano ์๋ํฐ์์ ctrl + o, ENTER (Return), ctrl + x๋ฅผ ์ฐจ๋ก๋ก ๋๋ฌ ์ ์ฅ ํ ๋น ์ ธ๋์ฌ ์ ์๋ค.
์ดํ, ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ค.
cd ..
cd nginx
nano ssl.conf
์ฌ๊ธฐ์ ssl_certificate ๊ฐ๊ณผ ssl_certificate_key ๊ฐ์ ๊ฐ๊ฐ ์๊น ๋ง๋ค์ด ์ค cert1.crt์ cert1.key๋ก ๋ฐ๊พธ์ด ์ค๋ค.
๊ทธ๋ฐ ๋ค์, Portainer์ ์ปจํ ์ด๋ ํ๋ฉด์ผ๋ก ๋์๊ฐ nextcloud๋ฅผ ์ฌ์คํํด ์ฃผ๋ฉด SSL ์ ์ฉ์ด ์๋ฃ๋๋ค.
์ง๋ฌธ์ด ์๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.