web-dev-qa-db-fra.com

Pourquoi la connexion à mon serveur Postgres in Azure échoue-t-elle si SSL n'est pas activé sur mon application?

Un échec de connexion survient lorsque j'essaie de me connecter à mon serveur Postgres dans Azure à partir de mon application/client sur lequel SSL n'est pas activé. 

Impossible de se connecter au serveur: FATAL: une connexion SSL est requise. Veuillez spécifier les options SSL et réessayer.

Est-ce une exigence forte? Est-il possible de contourner cette exigence?

12
Shantanu

Par défaut, Azure Database for PostgreSQL applique les connexions SSL entre votre serveur et vos applications client pour se protéger contre les attaques MITM (homme au milieu). Ceci est fait pour rendre la connexion à votre serveur aussi sécurisée que possible.

Bien que cela ne soit pas recommandé, vous avez la possibilité de désactiver l'utilisation de SSL pour la connexion à votre serveur si votre application cliente ne prend pas en charge la connectivité SSL. Veuillez vérifier Comment configurer la connectivité SSL pour votre serveur Postgres dans Azure pour plus de détails. Vous pouvez désactiver les connexions SSL requises via le portail ou à l'aide de la CLI. Notez qu'Azure ne recommande pas de désactiver les connexions SSL requises lors de la connexion à votre serveur.

8
Shantanu

Ça m'aide:

psql -v sslmode=true -h myapp.postgres.database.Azure.com -U my_db_admin@myapp postgres

1
Mikhail Sidorov

Plutôt que de contourner cette erreur et de simplement désactiver SSL, vous pouvez également essayer simplement d'activer SSL en repérant votre chaîne de connexion:

"Server=SERVERNAME.postgres.database.Azure.com;
    Port=5432;Database=DBNAME;
    User Id=DBUSER@SERVERNAME;
    Password=PASSWORD;
    SslMode=Require";

Remarquez le suffixe SslMode=Require à la fin? Cela fonctionne également avec Npgsql (en supposant que vous utilisiez C #) pour vous connecter à une base de données Azure pour Postgresql.

0
Juliën