
Nginx 리버스 프록시 뒤에 docker-compose와 함께 Keycloak Quay 22.0.3을 사용하고 있지만 certbot으로 생성된 인증서가 자동으로 교체되기 때문에 몇 가지 문제가 있습니다.
certbot으로 생성된 내 인증서는 전혀 문제가 없습니다. 지금부터 3개월 후에 만료된다고 나와 있습니다. (발행자) CN은 R3이고 조직은 Let's Encrypt(다른 도메인과 마찬가지로)입니다.
도커를 시작하면 작성합니다.5월올바른 인증서를 사용하세요.티HTTPS를 사용하다가 갑자기 내가 생성하지 않은 것으로 대체됩니다. (발행자) CN Cisco Umbrella Secondary SubCA ams-SG 및 조직 Cisco 및 (발행자) 조직 Cisco Systems, Inc. 이전에는 비어 있었고 물론 연결은 더 이상 비공개가 아닙니다( NET::ERR_CERT_AUTHORITY_INVALID
).
이것은 내 docker-compose 파일입니다.
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
그리고 이것은 내 Nginx 구성입니다.
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
}
docker-compose에 사용되는 인증서는 /etc/letsencrypt/live/keycloak.hostname.com/*
655 권한입니다.
편집하다
Cisco Umbrella에서 발행한 인증서는 2023년 9월 17일부터 2023년 9월 22일까지 유효하다는 사실을 잊어버렸습니다.