Gitlab CE 远程 postgres ssl_mode

Gitlab CE remote postgres ssl_mode

我正在尝试使用远程 postgresql 数据库设置 gitlab omnibus。 gitlab 和 postgres 之间的连接应该是加密的,但我在配置时遇到了问题。

gitlab_rails['db_adapter'] = "postgresql"
gitlab_rails['db_encoding'] = "utf8"
gitlab_rails['db_collation'] = nil
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_pool'] = 10
gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = "MYPASSWORD"
gitlab_rails['db_host'] = "db.example.com"
gitlab_rails['db_port'] = 5432
# gitlab_rails['db_socket'] = nil
# gitlab_rails['db_sslmode'] = nil
gitlab_rails['db_sslrootcert'] = "/usr/local/share/ca-certificates/cacert-class3.crt"
gitlab_rails['db_prepared_statements'] = true
gitlab_rails['db_statements_limit'] = 1000

使用此配置 gilab-ctl reconfigure 失败:

PG::ConnectionBad: SSL error: certificate verify failed
          FATAL:  no pg_hba.conf entry for host "MY_IP", user "gitlab", database "gitlabhq_production", SSL off

我有点迷路了,找不到任何关于 db_sslmode 可用选项的文档,我怀疑这些选项配置错误。我只找到verify-full,但不想在两个地方有证书,只要签名就足够了。 当 运行 psql 手动时,我可以连接到数据库。

还有其他选项可以设置吗?

好的,通过搜索佣金问题,我发现缺少的关键字是 require

此外,将 sslrootcert 指向 /etc/ssl/certs/ca-certificates.crt

似乎是个更好的主意