Why does connection to my Postgres server in Azure fail if my app does not have SSL enabled?

Rather than bypassing this error and simply disabling SSL, you might also want to try simply enabling SSL by pimping up your connection string:

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

Notice the SslMode=Require suffix at the end? This works with Npgsql as well (assuming you use C#) for connecting to an Azure Database for Postgresql.


By default, Azure Database for PostgreSQL enforces SSL connections between your server and your client applications to protect against MITM (man in the middle) attacks. This is done to make the connection to your server as secure as possible.

Although not recommended, you have the option to disable requiring SSL for connecting to your server if your client application does not support SSL connectivity. Please check How to Configure SSL Connectivity for your Postgres server in Azure for more details. You can disable requiring SSL connections from either the portal or using CLI. Note that Azure does not recommend disabling requiring SSL connections when connecting to your server.


It helps me:

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