Nginx를 연동한 HTTPS 서버 구축

키요·2025년 11월 7일

공부

목록 보기
31/32

🐳 1. 도커 기본 환경 구축 및 이해

단계명령어/개념결과 및 학습 내용
도커 설치Docker Desktop 설치Windows PC에 도커 클라이언트/데몬 환경 구축. WSL2 업데이트 필수.
핵심 개념클라이언트 vs 데몬**클라이언트(CLI/GUI)**는 명령을 전달, **데몬(Daemon)**은 컨테이너/이미지를 관리하는 핵심 엔진. 사용자는 클라이언트만 다룸.
이미지 실행docker run hello-world도커 데몬이 Docker Hub에서 이미지를 받아(Pull) 컨테이너를 실행함. (latest는 최신 버전 태그, sha는 이미지 무결성 해시).
리눅스 환경 진입docker run -it ubuntu bashWindows 위에서 독립된 Ubuntu 리눅스 컨테이너 환경 진입 성공. (root@컨테이너ID:/# 프롬프트).
이미지 저장소docker images이미지는 Windows 파일 시스템이 아닌, WSL2 내부의 도커 데몬 관리 영역에 저장됨.

🛠️ 2. Spring Boot + Nginx 통합 배포 준비

단계파일/명령어목적 및 변경 사항
프로젝트 구조docker-compose.yml, default.conf, Dockerfile세 파일을 Spring Boot 프로젝트 루트 디렉토리(D:\...\springboot)에 저장 완료.
네트워크 설정docker-compose.ymlnetworks: my_network를 정의하여 iseaunginx-proxy 컨테이너가 컨테이너 이름으로 상호 통신 가능하게 설정. (172.168.10.15 IP 설정 오류 수정됨)
Nginx 설정default.confproxy_pass http://iseau:8080을 통해 Nginx가 외부 요청을 iseau 컨테이너의 8080 포트로 전달하도록 설정.
Spring Boot 빌드mvnw clean installspringboot-0.0.1-SNAPSHOT.jar 파일을 target 폴더에 생성 완료. (Java 17 버전 사용 확인).
Dockerfile 작성FROM eclipse-temurin:17-jre-focalopenjdk:17-jdk-slim 태그 오류 해결 후, Java 17 기반의 경량 이미지를 사용하여 iseau-image:latest 이미지 빌드 성공.

🚀 3. 최종 통합 실행 및 HTTPS 문제

단계명령어결과 및 다음 조치
통합 실행docker compose up -diseau 컨테이너nginx-proxy 컨테이너 실행 성공 메시지 출력.
문제 발생docker psnginx-proxy 미노출Nginx가 default.conf의 HTTPS 설정을 처리하지 못하고 시작 직후 종료됨. (인증서 파일(fullchain.pem, privkey.pem) 마운트 및 경로 문제).
임시 조치default.conf 수정HTTPS (443) 설정을 임시로 주석 처리하고 HTTP (80) 프록시만 활성화하여 재실행 대기 중.
HTTPS 해결mkcert 설치 시작HTTPS 재활성화를 위해 로컬 테스트용 인증서 생성 도구인 mkcert 설치 시도 중. (PowerShell 환경에서 명령어 실행 문제 해결됨).

🌟 다음 단계

현재 Chocolatey 설치 후 mkcert 설치를 시도하는 단계입니다. PowerShell에서 다음 명령어를 실행하여 **mkcert**와 nss 설치를 완료해 주세요.

choco install mkcert
choco install nss

이후 mkcert -install 및 인증서 생성 과정을 진행하여 Nginx의 HTTPS 기능을 복구하게 됩니다.

profile
운도 실력

0개의 댓글