1

I want to use my postgresql db from digital ocean in my webpage. Before i create this db, i have a free one for test and is working fine, but this new its not working. I can connect from pgadmin to the db without problem.

My web project is a net core 2.1.

My connection strings

  • (1) From my test db (working):

optionsBuilder.UseNpgsql( "Server=my-server;Port=5432;Database=mydb; User Id=myuser;Password=mypsw;");

  • (2) From digital ocean db (not working):

optionsBuilder.UseNpgsql("Server=myserver;Port=25060;Database=defaultdb; User Id=doadmin;Password=mypsw;SslMode=Require");

If i use the (1) connection it works perfect, but when i change to (2) connection throw me the error message. This is the error message:

“The remote certificate is invalid according to the validation procedure.”

My web its certificated with Let’s Encrypt, certbot.

Tell me if you need more info.

1 Answer 1

3

I found the solution, my problem was the ssl certificate, letsencrypt its a self-signed certificate and with sslmode=require, the connection fail. So you have to add this parameter Trust Server Certificate=true.

optionsBuilder.UseNpgsql("Server=myserver;Port=25060;Database=defaultdb; User Id=doadmin;Password=mypsw;SslMode=Require;Trust Server Certificate=true");

Source: https://www.npgsql.org/doc/security.html#encryption-ssltls

Sign up to request clarification or add additional context in comments.

2 Comments

THANK YOU!!!!!! This was 5 years ago but it just saved me :p
what if we cannot use Trust Server Certificate? How do we create proper certificate?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.