์์๋ก ์๋ฒ๋ฅผ ํ๋ ๋ ๋ง๋ค์๋ค.
ํ๋ก ํธ์ ๋ง์ถ๊ธฐ ์ํด์ https
๋ก ๋ง๋ค์ด์ผํ๋ค.
GitHub Actios + AWS CodeDeploy ๋ฅผ ์ฌ์ฉํด์ CI/CD ๋ฅผ ํ์๋ค.
sudo snap install core
sudo snap refresh core
sudo snap install --classic cerbot
sudo ln -s /snap/bin/certbot /ust/bin/certbot
sudo certbot certonly --standalone
์ ์ ๋ ฅํ๊ฒ ๋๋ฉด,
์ด ๋์ค๊ฒ ๋๋ค.
๋๋ 2. ๋๋ฉ์ธ ์ ๋ ฅ์ ํ์ ๋, ๊ณ์ ์ค๋ฅ๊ฐ ๋ฌ๋ค.
์๊ณ ๋ณด๋ AWS Route53์์ A ๋ ์ฝ๋
๋ฅผ ์ค์ ํด์ฃผ์ง ์์์์๋ค.
์์ฐจ์ฐจ....
๋ ์ฝ๋๋ฅผ ์ค์ ํด์ฃผ๊ณ ๋ค์ ์๋ํด๋ณด์๋ค.
ํ์ง๋ง ๋ฐ๋ก ๋์ง ์์๋ค.
์๋ง ๋ ์ฝ๋๋ฅผ ์ฌ์ค์ ํ ํผ์ง๋ ์๊ฐ์ด ์๋ ๊ฒ ๊ฐ๋ค.
๋ฐ๋ก ํ๋ฉด ์๋๊ณ ์ข ๊ธฐ๋ค๋ ค์ผํ๋ค.
2-30๋ถ ์ ๋ ๊ธฐ๋ค๋ ธ๋ ๊ฒ ๊ฐ๋ค.
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/subbak2.com/fullchain.pem
Key is saved at: /etc/letsencrypt/live/subbak2.com/privkey.pem
์ด๋ ๊ฒ ๋ฌ๋ค!
๊ทธ๋ฌ๋ฉด privkey.pem
ํ์ผ์ด ์๋ ๊ณณ์ผ๋ก ๊ฒฝ๋ก๋ฅผ ๊ฐ์ผํ๋ค.
privkey.pem ์ด ์๋ ๊ฒฝ๋ก์์ ์คํ
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root
๋๋ ๊ณ์ํด์
Permission denied
๊ฐ ๋ ์ sudo๋ฅผ ์จ์ ๊ฒฝ๋ก์ ์ ๊ทผํ์๋ค.
์ด๋ ๊ฒ ํ๊ฒ ๋๋ฉด privkey.pem
ํ์ผ ์๋ ๊ฒฝ๋ก๋ก ์ ๊ทผํ ์ ์์๋ค.
privkey.pem
ํ์ผ ์๋ ๊ฒฝ๋ก์์ ์์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๊ฒ ๋๋ฉด ๋น๋ฐ๋ฒํธ ์
๋ ฅํ๋ผ๊ณ ํ๋ค.
๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ธฐ์ตํด์ผํ๋ค. ๊ทธ๋์ผ
application.properties
์ ์ธ ์ ์๋ค !!
keystore.p12
ํ์ผ์ /src/main/resources
๋ก ์ด๋๋๋ ํ์ผ์ง๋ผ(FileZilla)๋ฅผ ์ฌ์ฉํ๋ค.
๊ณ์ ํ์ผ ์ ์ก ์คํจ๊ฐ ๋ณ๋ค......
keystore.p12
์ ๊ถํ์ด -r--------
์ด์ด์ ํ์ผ์ ์ฎ๊ธธ ์ ์์๋ค.
๊ถํ์ rw-r--r--
์ผ๋ก ๋ณ๊ฒฝํ๊ธฐ ์ํด์ ์๋ ๋ช
๋ น์ด๋ฅผ ์ผ๋ค!!
sudo chmod 644 keystore.p12
rw-r--r--
๊ถํ์ ๋ถ์ฌํ๋ ค๋ฉด 644
๋ฅผ ์จ์ผํ๋ค!
๋ค์ ํ์ผ์ง๋ผ์์ keystore.p12
๋ฅผ ์ฎ๊ฒผ๋๋ ์ฑ๊ณตํ๋ค!!
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=์์์ ์ค์ ํ ๋น๋ฐ๋ฒํธ
Github ์ push
ํ๊ณ Actions๊ฐ ์คํ๋๋ฉด ์์ฑ!
์ญ์ฝ๋ฉ subCoding : SpringBoot ๋ฌด๋ฃ SSL ์ธ์ฆ์ ์ ์ฉํ๊ธฐ (Certbot)