Bài viết

🔧Hướng Dẫn Sửa Lỗi KC_HOSTNAME và KC_HOSTNAME_URL trong Keycloak

🛑 1. Mô Tả Lỗi

Khi chạy Keycloak với Docker, bạn có thể gặp lỗi sau:

1
2
ERROR: Failed to start quarkus
ERROR: You can not set both 'hostname' and 'hostname-url' options

Lỗi này xảy ra do Keycloak không cho phép cấu hình đồng thời KC_HOSTNAMEKC_HOSTNAME_URL.


🛠 2. Cách Khắc Phục

🔹 Cách 1: Chỉ sử dụng KC_HOSTNAME_URL (✅ Khuyến nghị)

Cách tốt nhất là chỉ sử dụng KC_HOSTNAME_URL và bỏ KC_HOSTNAME.

Cấu hình đúng:

1
2
3
4
5
6
7
services:
  keycloak:
    image: quay.io/keycloak/keycloak:24.0.2
    container_name: sso-keycloak
    environment:
      KC_HOSTNAME_URL: "https://domain.com"
      KC_HOSTNAME_ADMIN_URL: "https://domain.com"

📌 Khi nào dùng? 👉 Nếu bạn muốn Keycloak luôn sử dụng HTTPS, hãy dùng KC_HOSTNAME_URL.


🔹 Cách 2: Chỉ sử dụng KC_HOSTNAME

Nếu Keycloak được chạy phía sau Nginx hoặc Proxy, bạn có thể chỉ dùng KC_HOSTNAME.

Cấu hình đúng:

1
2
3
4
5
6
services:
  keycloak:
    image: quay.io/keycloak/keycloak:24.0.2
    container_name: sso-keycloak
    environment:
      KC_HOSTNAME: "domain.com"

📌 Khi nào dùng? 👉 Nếu bạn có Nginx hoặc Reverse Proxy đảm nhận HTTPS, hãy dùng KC_HOSTNAME.


🔄 3. Khởi Động Lại Keycloak

Sau khi chỉnh sửa cấu hình, chạy lại Keycloak:

1
2
docker-compose down
docker-compose up -d

Bây giờ, Keycloak sẽ khởi động mà không bị lỗi! 🚀

Bài viết này được cấp phép bởi tác giả theo giấy phép CC BY 4.0 .