-
(NCP) 네이버클라우드 - LB SSL갱신 방법 (Docker, Nginx, 내부Tomcat 포함)Cloud/네이버클라우드 2025. 11. 3. 23:46
벌써 11월이네요
최근 서비스되고 있는 웹사이트를 보다가 우연히 만료일자가 거의 다가온 인증서가 있어서 요참에 한번 정리하려고 한다.
환경은 이렇게 셋팅되어있다.
- 해당 서비스는 NCP 클라우드에서 LB로 설정되어있음
- Nginx(openresty)에서 api server를 proxy 할때 https로 통신하고 있어 api server 설정내에 ssl 인증서 관련 파일 수정 배포 필요
- SSL 인증서는 sslcert로 구매완료
먼저 말로 쭉 설명해놓고 그 뒤에 스샷으로 안내
1. api 설정파일 내에 ssl 인증서위치, 비번, type이 있을텐데 재갱신할 인증서 파일정보를 넣고 소스 적용하여 배포한다.
2. 재갱신할 인증서를 서비스 되고있는 vpc server에 옮겨두자.

3. 기존에 SSL인증서 관련 파일들을 웹서버 위치 확인해서 옮기기
기본경로 : /usr/local/openresty/nginx/conf
Include경로 : 기본경로/conf.d/nginx.conf, /cert/*.all.crt.pem, *.key.pem
4. docker-compose.yaml 안에 volume 쪽에 해당 ssl인증서가 있는 경로(vpc server)를 container안 내부 tomcat폴더에다가 복사하게 명령어 삽입
name : xxx-api
services:
was:
conatiner_name: xxx-api
image: de-docker-hub-prod-v2.kr.ncr.ntruss.com/xxx-api:${API_VERSION}
pull_policy: always
environment:
- TZ=Asia/Seoul
ports:
- "111111:443"
volumes:
- /home/was/nas:/home/was/nas
- /home/was/logs:/home/was/logs
- /ssl.jks:/usr/local/tomcat/conf/ssl.jks #(vpc ssl인증서경로.jks):tomcat conf 폴더경로
restart: always5. api server 갱신된 인증서에 대한 정보를 적기
5-1. properties or yml에 설정하는게 제일 편함

5-2. 적용된 프로젝트에는 특정폴더에 server-${ENV}.xml 별로 파일이 있고 이안에 경로,패스워드,type을 적어놓고 docker 파일에서 /usr/local/tomcat/conf/server.xml 에다가 복붙해서 덮어씌웠음
server-${ENV}.xml 파일안
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/ssl파일.jks" certificateKeystorePassword="ssl패스워드" type="RSA" /> </SSLHostConfig> </Connector>
👉 여기서의 ssl패스워드는 sslcert 사이트 기준으로 해당 인증서를 구매하게 되면 필독.pdf 내용에 패스워드가 적혀있다.
docker파일 내용
...
COPY ./.github/build/server-${ENV}.xml /usr/local/tomcat/conf/server.xml5-3. docker-compose로 container 배포
배포후 container 실행
sudo docker-compose -f [특정 docker-compose파일.yaml] up -d --force-recreate
docker 안 tomcat conf파일에 volumes에 복사한 ssl 있는지 확인
docker 접속
sudo docker exec -it [container id or container names] /bin/sh
conf 파일 이동
ls -la conf/6. nginx conf 파일에서 443 listen 하는 곳에 ssl_certificate 경로, ssl_certificate_key 경로 적어주기

7. nginx(openresty) -t 문법확인 후 success 면 systemctl restart nginx(openresty) 하여 적용하기
여기서 nginx/conf.d/*.conf 파일로 설정하면 됨
- conf.d 폴더 안에 파일만 넣으면 nginx가 알아서 읽고 nginx -t로 검증 가능.
- 다만 include 경로가 바뀌면 그 안에 넣어야 하고,
- 파일 이름이 .conf로 끝나야 include 규칙에 의해 적용됨.
8. ncp 네이버클라우드 콘솔 - Load Balancer - 해당 로드밸런서 선택 - 리스너 설정 변경 - 프로토콜HTTPS - 인증서변경 - 재갱신할 인증서 변경 - 기존 인증서 삭제

이렇게 하면 SSL의 설정은 적용 완료가 될것이다! 해당 서비스에서 새로운 SSL이 적용되었는지 확인해보자!
'Cloud > 네이버클라우드' 카테고리의 다른 글
네이버클라우드 NCP - sslcert 외부인증서 등록방법(인증서가 유효하지않습니다) 해결방법 (0) 2025.10.30 (Ncp) 네이버클라우드 Global Dns로 구입한 도메인 설정방법 (0) 2025.08.20