Podman/docker 비밀을 사용하여 Postgres 15용 SSL 활성화 - 해결됨

Podman/docker 비밀을 사용하여 Postgres 15용 SSL 활성화 - 해결됨

SSL 인증서에 podman/docker 비밀을 사용하려고 하는데 SSL 오류가 계속 발생합니다.

내가 사용하는 명령은 다음과 같습니다.

podman run \
  --detach \
  --restart on-failure:5 \
  --network some_network \
  --name postgres \
  --hostname postgres \
  --publish 5432:5432 \
  --mount type=volume,src=postgres,dst=/var/lib/postgresql/data \
  --secret SUPERUSER \
  --secret SUPERPASS \
  --secret server_key,mode=0600,target=/etc/ssl/server.key \
  --secret server_crt,mode=0600,target=/etc/ssl/server.crt \
  --env POSTGRES_USER_FILE=/run/secrets/SUPERUSER \
  --env POSTGRES_PASSWORD_FILE=/run/secrets/SUPERPASS \
  --env POSTGRES_DB=somedb\
  postgres:15 \
  -c ssl=on \
  -c ssl_cert_file=/etc/ssl/server.crt \
  -c ssl_key_file=/etc/ssl/server.key

그리고 로그:

PostgreSQL Database directory appears to contain a database; Skipping initialization

2023-08-29 15:13:42.751 UTC [1] FATAL:  could not load server certificate file "/etc/ssl/server.crt": SSL error code 2147483661
2023-08-29 15:13:42.751 UTC [1] LOG:  database system is shut down

인증서가 실제로 거기에 있고 읽을 수 있는지 컨테이너를 확인했습니다. 또한 SELinux가 원인일 경우를 대비해 --privileged 플래그를 사용하여 실행을 시도했지만 별 차이가 없었습니다.

모든 도움에 감사드립니다! :)

인증서와 키를 생성하는 명령도 추가합니다.

openssl req -new -nodes -text -out root.csr -keyout root.key -subj "/CN=root.yourdomain.com" 
chmod og-rwx root.key 
openssl x509 -req -in root.csr -text -days 3650 -extfile /etc/ssl/openssl.cnf -extensions v3_ca -signkey root.key -out root.crt 
openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=dbhost.yourdomain.com" 
chmod og-rwx server.key 
openssl x509 -req -in server.csr -text -days 365 -CA root.crt -CAkey root.key -CAcreateserial -out server.crt

cat server.key | podman secret create server_key -
cat server.crt | podman secret create server_crt -

관련 정보