Search Postgresql Archives

Re: "Failed to connect to Postgres database"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/27/19 11:02 AM, Marco Ippolito wrote:
Thank you very much Adrian.
Two things:

1)
 Why if I just specify through port the cluster and the host connection I connect correctly with SSL,  but if I specify also the database and the user it connects it doesn't usel SSL connection, or at least it doesn't say it uses SSL? :


Can you show the contents of pg_hba.conf file for the 11/fabmnet cluster. The file will be in:

/etc/postgresql/11/fabmnet/


More below.


2)
In fabric-ca-server-config.yaml

   a) if I set:

     db:
       type: postgres
      datasource: host=localhost port=5433 user=postgres password=1234 dbname=fabmnet_ca sslmode=allow

According to the fabric-ca docs, allow is not one of the valid values:

https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/users-guide.html#postgresql

"Specifying sslmode configures the type of SSL authentication. Valid values for sslmode are:

Mode 	Description
disable 	No SSL
require 	Always SSL (skip verification)
verify-ca Always SSL (verify that the certificate presented by the server was signed by a trusted CA) verify-full Same as verify-ca AND verify that the certificate presented by the server was signed by a trusted CA and the server hostname matches the one in the certificate

"


       tls:
           enabled: false
           certfiles:
           client:
             certfile:
             keyfile:

    where sslmode=allow means "first try a non-SSL connection; if that fails, try an SSL connection"


     /var/log/postgresql/postgresql-11-fabmnet.log  :
        2019-09-27 19:43:14.194 CEST [3213] postgres@fabmnet_ca FATAL:  client certificates can only be checked if a root certificate store is available

The above tells me that the start is ignoring sslmode=allow and rolling over into a verification mode and there are no certs specified. Please do as requested as try sslmode=require.

More below.


   b) if I set:
     db:
       type: postgres
      datasource: host=localhost port=5433 user=postgres password=1234 dbname=fabmnet_ca sslmode=disable
       tls:
         enabled: false
         certfiles:
         client:
           certfile:
           keyfile:




     /var/log/postgresql/postgresql-11-fabmnet.log :
        2019-09-27 19:55:03.691 CEST [3313] postgres@fabmnet_ca ERROR:  database "fabmnet_ca" already exists         2019-09-27 19:55:03.691 CEST [3313] postgres@fabmnet_ca STATEMENT:  CREATE DATABASE fabmnet_ca

The fabmnet_ca database has already been created.


Does it mean that in order to use postgresql-11 with fabric-ca I have to use only socket connection?
And if this is the case, why?

No you connected to localhost, though without SSL. Try again with sslmode=require and I am pretty sure you will connect with SSL, but no cert verification.


Marco



--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux