我正在使用 Kong 10.x 和数据存储 postgresql 9.6。 我想在 kong 和它的数据存储 postgresql 之间建立 ssl 连接。 但是我收到以下错误:
PostgreSQL 错误:
LOG: could not accept SSL connection: tlsv1 alert unknown ca
来自香港的错误:
/usr/local/share/lua/5.1/kong/cmd/migrations.lua:34: [postgres error] could not retrieve current migrations: [postgres error] connection refused
以下是我的 Kong 和 Postgresql 配置:
孔:
# Kong configuration file
# DATASTORE
database = postgres
pg_host = 10.0.1.191
pg_port = 5432
pg_user = kong
pg_password = kong
pg_database = kong
pg_ssl = on
pg_ssl_verify = on
# DEVELOPMENT & MISCELLANEOUS
lua_ssl_trusted_certificate = /opt/postgres_ssl/postgresql.crt # Absolute path to the certificate
PostgreSQL:
pg_hba.conf:
hostssl all all 10.0.1.191/32 md5 clientcert=1
postgresql.conf:
listen_addresses = '10.0.1.191'
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
ssl_ca_file = 'root.crt'
证书生成过程:
openssl genrsa -passout pass:mypass -des3 -out server.key 1024
openssl rsa -passin pass:mypass -in server.key -out server.key
chmod 400 server.key
openssl req -new -key server.key -days 3650 -out server.crt -x509 -subj '/C=IN/ST=Maharastra/L=Mumbai/O=Development/CN=10.0.1.191'
cp server.crt root.crt
openssl genrsa -passout pass:iotadmin -des3 -out postgresql.key 1024
openssl rsa -in postgresql.key -out postgresql.key -passin pass:mypass
openssl req -new -key postgresql.key -days 3650 -out postgresql.csr -subj '/C=IN/ST=Maharastra/L=Mumbai/O=Development/CN=kong'
openssl x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial
最佳答案
错误消息说 Kong 不信任签署数据库证书的 CA。这并不奇怪,因为它只知道后者,但不知道 CA 的证书。
尝试为您的 lua_ssl_trusted_certificate
配置条目使用根证书,它应该可以工作:
lua_ssl_trusted_certificate = /path/to/your/root.crt
关于postgresql - 无法在 Kong 0.10.x 和数据存储 postgresql-9.6 之间建立 SSL/TLS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744333/