sitelink1  
sitelink2  
sitelink3  
sitelink4  
extra_vars5  
extra_vars6  

성공적인 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 내용을 작성해서 적용했고 이상없이 동작하고 있다.

 

 

번호 제목 sitelink1 글쓴이 날짜 조회 수
공지 [계속 추가중] SBOM 용어 정의   황제낙엽 2025.04.10 52
공지 [계속 추가중] Keycloak 용어 및 설정 옵션 정의   황제낙엽 2024.02.02 630
83 docker, fosslight hub, scanner, jenkins   황제낙엽 2025.04.14 25
82 [Gemini] SPDX, CycloneDX   황제낙엽 2025.04.10 23
81 [Gemini] SBOM 생성을 위해 FOSSLight를 사용하는 데 필요한 배경 지식   황제낙엽 2025.04.10 35
80 letsencrypt 인증서(PEM)를 Java KeySotre(JKS) 형식으로 변환하기 https://blog.naver.com/hsunryou/223630528327  황제낙엽 2024.11.12 144
79 OpenSSL 설치   황제낙엽 2024.11.12 115
78 서버의 인증서 파일을 갱신후 브라우저의 인증서 뷰어에서 새 인증서 정보가 조회되지 않을 경우   황제낙엽 2024.08.23 109
77 [Copilot] javax.crypto 패키지를 사용하여 암호화, 복호화 하는 방법   황제낙엽 2024.06.07 96
76 Windows ACMEv2 로 인증서 발급시의 안내 문구 번역   황제낙엽 2024.05.30 226
75 let's encrypt+windows+win-acme 문서 스크랩 file https://cafe.naver.com/archdevel  황제낙엽 2024.05.29 101
74 Client ID, Client Secret (Credential) 에 대하여   황제낙엽 2024.03.11 122
73 OAuth 2.0 의 등장, 구성 요소, 인증 과정 file https://blog.naver.com/dsz08082/223024950520  황제낙엽 2024.03.11 140
72 Customizing the Login Page for Keycloak (Keycloak 로그인 페이지 사용자 정의) file https://www.baeldung.com/keycloak-custom-login-page  황제낙엽 2024.02.04 432
71 Access & Refresh token file https://letsmakemyselfprogrammer.tistory...sh%20token  황제낙엽 2024.02.03 108
70 OAuth 2.0 Client Types 별 Flow (인증 프로세스) file   황제낙엽 2024.02.02 115
69 [스프링 시큐리티 OAuth2] KeyCloak 실습 (Postman, Servlet) file   황제낙엽 2024.02.02 266
» docker keycloak 에 ssl 적용 결과 후기   황제낙엽 2024.02.01 550
67 docker keycloak 에 ssl 적용하기 위한 학습용 포스팅 모음   황제낙엽 2024.01.31 246
66 Keycloak 설치 관련 레퍼런스들 (with docker) https://www.keycloak.org/downloads  황제낙엽 2024.01.22 129