성공적인 SSL 적용후에 몇가지 체크 사항을 위해 기록으로 남긴다.

 

몇몇 레퍼런스들을 살펴보면서 내가 구축한 환경과의 차이점은

내가 keycloak 을 설치한 환경에서는 이미 80과 443 포트로 운영중인 웹서버가 있었다.

다만 인증서버를 별도의 장비로 분리해가면서 운영할 필요는 없다고 생각해서 같은 환경에서 구축하고 있었는데

대부분 예제들은 리버스 프록시를 위해 nginx 를 사용하는데 인증서를 nginx 에 적용하기 때문에 정작 keycloak 만 운영하고픈 나의 환경에서는 적용할 수가 없었다.

그런데 예제 하나가 정확하게 docker-compose 로 keycloak 에 인증서를 적용하여 실행하는 예제를 보여주었다. -> Deploy keycloak with ssl

다만 yml 내용에서 version 차이로 내용이 조금 달랐는데 살짝 수정해서 큰 문제없이 성공했다.

다음은 내가 성공한 docker-compose.yml 의 내용이다.

 

1. 환경정보

  - windows 11 pro

  - docker desktop 4.26.1

  - docker compose version : 3.8

 

2. docker-compose.yml

version: '3.8'

services:

  postgres:

    image: bitnami/postgresql:14.7.0

    volumes:

      - postgres_data:/var/lib/postgres/data

    environment:

      POSTGRES_USER: keycloak

      POSTGRES_PASSWORD: password

      POSTGRES_DB: keycloak

    ports:

      - 5433:5432

  keycloak:

    image: bitnami/keycloak:21.0.2

    volumes:

      - ./certs/fullchain.pem:/etc/x509/https/tls.crt

      - ./certs/privkey.pem:/etc/x509/https/tls.key

    environment:

      DB_VENDOR: POSTGRES

      DB_ADDR: postgres

      DB_DATABASE: keycloak

      DB_USER: keycloak

      DB_PASSWORD: password

      KEYCLOAK_ADMIN: admin

      KEYCLOAK_ADMIN_PASSWORD: password

      KC_HTTPS_CERTIFICATE_FILE: /etc/x509/https/tls.crt

      KC_HTTPS_CERTIFICATE_KEY_FILE: /etc/x509/https/tls.key

    ports:

      - 8282:8080

      - 8443:8443

    depends_on:

      - postgres

volumes:

  postgres_data:

    driver: local

    driver_opts:

      type: none

      device: ./postgres_data

      o: bind

 

대부분은 jboss/keycloak 을 많이 사용하던데 내가 bitnami 를 좋아해서 걍 bitnami 버전으로 선택했다.

그리고 db나 keycloak 의 admin password는 테스트니까 다른 예제들을 가져온거라 초기값 그대로인데 이젠 바꿔서 적용했다.

보면 인증서 파일의 확장자를 변경해서 적용했는데, 큰 문제없이 잘 적용되더라.

letsencrypt 에서는 인증서 파일들이 모두 pem 확장자인데 keycloak 에 적용할땐 crt 와 key 파일로 확장자를 변환해줘야 하나보다.

큰 의미는 없는거 같아서 걍 시키는대로 yml 내용을 작성해서 적용했고 이상없이 동작하고 있다.

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의 황제낙엽 2025.04.10 21565
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의 황제낙엽 2024.02.02 20405
146 SPDX 2.3, 계속 써도 되나요? — 3.0으로 넘어갈 때를 판단하는 실무 기준 황제낙엽 2026.08.11 55
145 같은 OSS 지만 여러 버전을 등록해야 하는 경우 황제낙엽 2026.04.24 1972
144 [FOSSLight Dependency Scanner] Android Project 의 Dependency Scan 을 위한 Android SDK 설치와 설정 황제낙엽 2026.04.23 1843
143 FOSSLight Hub 의 REST API 이용 (v2) 황제낙엽 2026.03.19 2500
142 [FOSSLight/검토용] 개발그룹의 sbom-info.yaml 분석 및 피드백 절차 황제낙엽 2026.03.16 1983
141 [FOSSLight/관리용] Project Identification 진행에서 최종 SBOM SPDX 문서 추출 황제낙엽 2026.02.09 1917
140 [FOSSLight] 'Download Location' 컬럼 값에 'Different from DB' 라는 푸른색 메세지가 출력 file 황제낙엽 2026.02.06 3613
139 [FOSSLight] Project Identification 진행시의 신규 OSS 등록 처리 방법 황제낙엽 2026.02.06 3750
138 [FOSSLight Hub] License 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3579
137 [FOSSLight Hub] Open Source 정보를 직접 등록시 필요한 항목 목록 황제낙엽 2026.02.06 3352
136 [OSS] Microsoft.Web.WebView2 황제낙엽 2026.02.06 3352
135 [FOSSLight] fosslight 프로젝트의 'Pre-Review' > 'Open Source' 팝업창의 세 버튼에 대한 용도 황제낙엽 2026.02.06 3572
134 [FOSSLight/검토용] prechecker convert 결과 Hub 등록후 Identification 처리 file 황제낙엽 2026.02.05 3289
133 python venv 설치, fosslight source scanner , binary scanner 설치, 버전 확인 황제낙엽 2026.02.02 3508
132 SPDX 템플릿 다운로드 및 온라인 변환기 황제낙엽 2026.01.22 3870
131 SBOM(Software Bill of Materials) 및 소프트웨어 공급망 보안 관련 주요 정부 기관 및 단체 황제낙엽 2026.01.22 3605
130 [FOSSLight] online guide link 황제낙엽 2026.01.14 1844
129 identification 에서 출력하는 warning, error 메세지 황제낙엽 2025.12.29 1427
128 sbom-info.yaml 을 이용한 dependency scan excel 작성 file 황제낙엽 2025.12.29 3578
127 binary scan 결과물에 대해 취약점이 없는데 왜 SBOM에 넣어야 하나? 황제낙엽 2025.12.17 3484