postgresql - 无法在 Kong 0.10.x 和数据存储 postgresql-9.6 之间建立 SSL/TLS 连接

标签 postgresql ssl lua tls1.2 kong

我正在使用 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/

相关文章:

Java 小程序未在 Java8/HTTPS 上加载

c++ - 二进制字符串: unexpected end in precompiled chunk

lua - Lua 中的闭包获得无限循环

python - 如何创建连接、执行和断开连接的函数

postgresql - 无法从 postgres 获取结果

html - 使用SSl证书

c# - Windows Server 2008 R2 的 WebRequest 故障转移 TLS 1.2

sorting - 如何按顺序打印LUA表?

sql - 计算 NULL 和非 NULL 行的巧妙方法?

sql - 从不同表的列更新表