SSL-Verbindung mit PostgreSQL realisieren

Hallo liebe Leute,

auf einem Ubuntu-Server läuft bei mir PostgreSQL (16) einwandfrei, bislang jedoch ohne SSL-Verbindung.
Für den Server habe ich Zertifikate bei “Sectigo” gekauft,
wenn ich diese mit dem Apache-Webserver nutze, dann funktioniert das auch reibungslos.

Nun habe ich genau diese Zertifikate genommen und nach
“/etc/postgresql/16/main” kopiert.

Dort haben sie folgende Rechte:

z.B.:
-rw-r–r-- 1 postgres postgres 2594 Aug 14 12:33 ssl_certificate.cer

In die postgresql.conf habe ich geschrieben:

ssl = on
ssl_cert_file = ‘ssl_certificate.cer’
ssl_key_file = ‘private_key.key’
ssl_ca_file = ‘intermediate/intermediate1.cer’

Und in der pg_hba.conf steht:

local all all md5

host all all 0.0.0.0/0 md5
hostssl all all 0.0.0.0/0 md5

Dennoch erhalte ich nach einem Neustart von PostgreSQL keine Verbindung.

Wenn ich eine Verbindung versuche, dann erhalte ich nun:

psql -U postgres -p 5432 -h localhost
psql: error: connection to server at “localhost” (127.0.0.1), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?

Auch kann ich mich nicht mehr mit pgAdmin zu den vorhandenen Datenbanken verbinden.
Der PostgreSQL-Service scheint aber zu laufen.
Ich teste mit:

systemctl status postgresql

und erhalte dann:

postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; prese>
Active: active (exited) since Thu 2025-08-14 16:06:28 UTC; 17min ago
Process: 297326 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 297326 (code=exited, status=0/SUCCESS)
CPU: 4ms

Aug 14 16:06:28 2FBB858 systemd[1]: Starting postgresql.service - PostgreSQL RD>
Aug 14 16:06:28 2FBB858 systemd[1]: Finished postgresql.service - PostgreSQL RD>
lines 1-9/9 (END)

Hat jemand eine Idee, wie ich eine SSL-Verbindung realisieren kann?

Now I got it,
I set “chmod 0600 private_key.key”

And I changed the pathes in postgresql.conf to absolute pathes:

ssl = on
ssl_cert_file = '/etc/postgresql/16/main/ssl_certificate.cer'
ssl_key_file = '/etc/postgresql/16/main/private_key.key'
ssl_ca_file = '/etc/postgresql/16/main/intermediate/intermediate1.cer'

ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
ssl_prefer_server_ciphers = on

It works fine now :slight_smile:

1 „Gefällt mir“

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.