Delen via


Problemen met TLS-verbinding oplossen

TLS-verbindingsfouten kunnen om verschillende redenen optreden, met name na een geplande TLS-certificaatrotatie in Azure Database for PostgreSQL. In dit artikel wordt u begeleid bij het valideren van uw clientconfiguratie en het oplossen van mogelijke verbindingsproblemen.

Belangrijk

Microsoft heeft een TLS-certificaatrotatie gestart voor Azure Database for PostgreSQL om tussenliggende CA-certificaten en de resulterende certificaatketen bij te werken. De root-CA's blijven hetzelfde.

Als uw clientconfiguratie gebruikmaakt van de aanbevolen configuraties voor TLS, hoeft u geen actie te ondernemen.

Planning voor tussenliggende certificaatrotatie:

  • Updates voor Azure-regio's VS - west-centraal en Azië - oost zijn voltooid.
  • Updates voor de regio's UK Zuid en Amerikaanse overheid beginnen op 21 januari 2026.
  • Updates voor de Centrale VS beginnen op 26 januari 2026.
  • Updates voor alle andere regio's beginnen op 28 januari 2026.
  • Na het Voorjaarsfestival (Chinees Nieuwjaar) 2026 zullen de Chinese regio's ook een certificaatrotatie ondergaan die een wijziging omvat in een van de basis-CA's.

Clientconfiguratie valideren

Als u de clientconfiguratie vóór een geplande rotatie wilt valideren, moet u de aanbevolen configuraties voor TLS implementeren.

Het basiscertificaatarchief controleren

Zorg ervoor dat het basiscertificaatarchief van uw client de minimaal vereiste basiscertificaten of de volledige set basiscertificaten bevat.

Waarschuwing

Vertrouw alleen root-CA-certificaten van Azure in de rootcertificaatopslag van uw clients. Vertrouw tussenliggende CA's of afzonderlijke servercertificaten niet. Als u deze certificaten vertrouwt, kunnen er onverwachte verbindingsproblemen optreden wanneer Microsoft de certificaatketen bijwerken of afzonderlijke servercertificaten roteert.

De TLS-verbindingsstatus bepalen

Als u de huidige TLS-verbindingsstatus wilt bepalen, laadt u de sslinfo-extensie en roept u de ssl_is_used() functie aan om te bepalen of TLS wordt gebruikt. De functie retourneert t als de verbinding GEBRUIKMAAKT van TLS. Anders wordt fgeretourneerd. U kunt ook alle informatie verzamelen over het TLS-gebruik van uw flexibele Server-exemplaar van Azure Database for PostgreSQL per proces, client en toepassing met behulp van de volgende query:

SELECT datname AS "Database name",
       usename AS "User name",
       ssl,
       client_addr,
       application_name,
       backend_type
FROM pg_stat_ssl
     INNER JOIN pg_stat_activity
         ON pg_stat_ssl.pid = pg_stat_activity.pid
ORDER BY ssl;

TLS-verbinding testen met behulp van OpenSSL

Voor het testen gebruikt u de openssl opdracht om verbinding te maken met uw Azure Database for PostgreSQL en de TLS-certificaten weer te geven.

openssl s_client -starttls postgres -showcerts -connect <your-postgresql-server-name>:5432

Met deze opdracht worden protocolgegevens op laag niveau afgedrukt, zoals de TLS-versie en codering. U moet de optie -starttls postgresgebruiken. Anders meldt deze opdracht dat er geen TLS wordt gebruikt. Voor het gebruik van deze opdracht is ten minste OpenSSL 1.1.1 vereist.

Leeskopieën

Wanneer de basis-CA-migratie plaatsvindt naar De basis-CA 2017 van Microsoft RSA, kunnen nieuwere replica's een nieuwere basis-CA-certificaat gebruiken dan de primaire server als de primaire server eerder is gemaakt. Voor clients die gebruikmaken van sslmode=verify-ca en sslmode=verify-full configuratie-instellingen, moet u de nieuwe en vorige basis-CA-certificaten accepteren totdat de rotatie op nieuwe en bestaande servers is voltooid.

Troubleshoot

  1. Reproduceer het probleem.
  2. Verzamel diagnostische gegevens, zoals foutberichten aan de clientzijde, psql-uitvoer, OpenSSL-s_client-uitvoer en serverlogboeken.
  3. Controleer serverparameters, inclusief require_secure_transport, ssl_min_protocol_version, en ssl_max_protocol_version.
  4. Controleer de certificaatketen en client-sslmode en sslrootcert-instellingen om verschillen in protocolversies, ciphersuites of ontbrekende of vervangen certificaten vast te stellen.

TLS-connectiviteitsfouten

  1. Identificeer de foutberichten die u of uw gebruikers ziet wanneer ze proberen toegang te krijgen tot uw Azure Database for PostgreSQL flexibele serverexemplaar onder TLS-encryptie vanaf de client. Afhankelijk van de toepassing en het platform kunnen de foutberichten verschillen. In veel gevallen wijzen ze op het onderliggende probleem.
  2. Controleer de TLS-configuratie van de databaseserver en de toepassingsclient om ervoor te zorgen dat deze compatibele versies en coderingssuites ondersteunen.
  3. Analyseer eventuele verschillen of hiaten tussen de databaseserver en de TLS-versies en coderingssuites van de client. Probeer ze op te lossen door bepaalde opties in of uit te schakelen, software te upgraden of downgraden, of certificaten of sleutels te wijzigen. Mogelijk moet u specifieke TLS-versies op de server of de client in- of uitschakelen, afhankelijk van de beveiligings- en compatibiliteitsvereisten. Mogelijk moet u TLS 1.0 en TLS 1.1 uitschakelen, die als niet-beveiligd en afgeschaft worden beschouwd, en TLS 1.2 en TLS 1.3 inschakelen, die veiliger en moderner zijn.
  4. Het nieuwste certificaat uitgegeven door Microsoft RSA Root CA 2017 heeft een tussenliggend certificaat in de keten, dat is ondertekend door Digicert Global Root G2 CA. Sommige postgres-clientbibliotheken kunnen tijdens het gebruik of sslmode=verify-full de sslmode=verify-ca instellingen verbindingsfouten ondervinden met basis-CA-certificaten die kruislings zijn ondertekend met tussenliggende certificaten. Het resultaat is alternatieve vertrouwenspaden.

Als u deze problemen wilt omzeilen, voegt u alle benodigde certificaten toe aan het certificaatarchief van de client of geeft u de sslrootcert parameter expliciet op. Of stel de PGSSLROOTCERT omgevingsvariabele in op het lokale pad waar het Basis-CA 2017-basiscertificaat van Microsoft RSA wordt geplaatst, van de standaardwaarde van %APPDATA%\postgresql\root.crt.

Problemen met certificeringsinstantie

Opmerking

Als u geen gebruik maakt van sslmode=verify-full of sslmode=verify-ca instellingen in de verbindingsreeks van uw clienttoepassing, hebben certificaatrotaties geen invloed op u. Daarom hoeft u de stappen in deze sectie niet te volgen.

  1. Maak een lijst met certificaten in uw vertrouwde root-opslag.
  2. U gebruikt certificaatpinning als u afzonderlijke tussenliggende certificaten of afzonderlijke PostgreSQL-servercertificaten hebt. Deze configuratie wordt niet ondersteund.
  3. Als u certificaat-pinning wilt verwijderen, verwijdert u alle certificaten uit de vertrouwde root store en voegt u alleen root-CA-certificaten toe.

Als u problemen ondervindt, zelfs nadat u deze stappen hebt uitgevoerd, neemt u contact op met Microsoft Ondersteuning. Neem ICA Rotation 2026 op in de titel.

Problemen met het vastmaken van certificaten

Als u geen gebruik maakt van sslmode=verify-full of sslmode=verify-ca instellingen in de verbindingsreeks van uw clienttoepassing, hebben certificaatrotaties geen invloed op u. Daarom hoeft u de stappen in deze sectie niet te volgen.

  1. Controleer of u certificaatpinning gebruikt in uw toepassing.
  2. Maak een lijst met certificaten in uw vertrouwde root-opslag. Bijvoorbeeld:
    • Haal programmatisch een lijst met vertrouwde certificaten op in Java Key Store.
    • Controleer cacerts java-sleutelarchief om te zien of deze al vereiste certificaten bevat.
  3. U gebruikt certificaatpinning als u afzonderlijke tussenliggende certificaten of afzonderlijke PostgreSQL-servercertificaten hebt.
  4. Als u certificaatpinning wilt verwijderen, verwijdert u alle certificaten uit het vertrouwde basisarchief en voegt u de nieuwe certificaten toe.
  5. U kunt de bijgewerkte certificaten downloaden uit de officiële opslagplaats van Microsoft: Azure Certificate Authority Details.

Als u problemen ondervindt, zelfs nadat u deze stappen hebt uitgevoerd, neemt u contact op met Microsoft Ondersteuning. Neem ICA Rotation 2026 op in de titel.

Certificaatketen controleren

Oude ketting

  • DigiCert Global Root G2
    • Microsoft Azure RSA TLS-certificaatuitgever CA 03/04/07/08
    • Servercertificaat

Nieuwe keten

  • DigiCert Global Root G2
    • Microsoft TLS RSA Root G2
    • Microsoft TLS G2 RSA CA OCSP 02 / 04 / 06 / 08 / 10 / 12 / 14 / 16
    • Servercertificaat