Keycloak ändert automatisch das Zertifikat

Keycloak ändert automatisch das Zertifikat

Ich verwende Keycloak Quay 22.0.3 mit Docker-Compose hinter einem Nginx-Reverse-Proxy, habe aber einige Probleme aufgrund eines automatischen Ersetzens meines mit Certbot generierten Zertifikats.

Mein mit Certbot generiertes Zertifikat ist völlig in Ordnung, es besagt, dass es in 3 Monaten abläuft, (Ausgestellt von) sein CN ist R3 und seine Organisation ist Let’s Encrypt (wie die anderen Domänen).

Sobald ich Docker-Compose starte,MaiVerwenden Sie das richtige Zertifikat fürTZeit und es verwendet HTTPS, dann wird es plötzlich durch eins ersetzt, das ich nicht generiert habe, (Ausgestellt von) CN Cisco Umbrella Secondary SubCA ams-SG und Organisation Cisco und (Ausgestellt an) Organisation Cisco Systems, Inc., während es vorher leer war, und natürlich ist die Verbindung nicht mehr privat ( NET::ERR_CERT_AUTHORITY_INVALID).

Dies ist meine Docker-Compose-Datei:

version: "3.9"

services:
  keycloak:
    container_name: "keycloak"
    image: quay.io/keycloak/keycloak:22.0.3
    environment:
      KC_DB: mysql
      KC_DB_URL: jdbc:mysql://database_container:3306/keycloak
      KC_DB_USERNAME: username
      KC_DB_PASSWORD: password
      KEYCLOAK_ADMIN: kc_admin
      KEYCLOAK_ADMIN_PASSWORD: kc_admin_password
      KC_HOSTNAME: keycloak.hostname.com
      KC_HOSTNAME_STRICT_HTTPS: "false"
    ports:
      - "8443:8443"
    volumes:
      - /keycloak/certs/fullchain.pem:/etc/x509/https/tls.crt
      - /keycloak/certs/privkey.pem:/etc/x509/https/tls.key
    command:
      start --https-certificate-file=/etc/x509/https/tls.crt --https-certificate-key-file=/etc/x509/https/tls.key --hostname-strict=false
    networks:
      - my_network

networks:
  my_network:
    name: my_network
    external: true

Und das ist meine Nginx-Konfiguration:

server {
    server_name www.keycloak.hostname.com keycloak.hostname.com;

    location / {
        proxy_pass https://ip_address:8443/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP \$remote_addr;
        proxy_buffer_size 256k;
        proxy_buffers 4 512k;
        proxy_busy_buffers_size 512k;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }


    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/keycloak.hostname.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/keycloak.hostname.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = www.keycloak.hostname.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = keycloak.hostname.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    server_name www.keycloak.hostname.com keycloak.hostname.com;
    listen 80;
    return 404; # managed by Certbot
}

Die in Docker-Compose verwendeten Zertifikate sind /etc/letsencrypt/live/keycloak.hostname.com/*und mit 655-Berechtigungen.

Bearbeiten

Ich habe vergessen zu erwähnen, dass das von Cisco Umbrella ausgestellte Zertifikat vom 17.09.2023 bis 22.09.2023 gültig ist.

verwandte Informationen