【问题标题】:Hasura use SSL certificates for Postgres connectionHasura 使用 SSL 证书进行 Postgres 连接
【发布时间】:2019-08-12 13:47:25
【问题描述】:

我可以从 Docker 镜像运行 Hashura。

docker run -d -p 8080:8080 \
  -e HASURA_GRAPHQL_DATABASE_URL=postgres://username:password@hostname:port/dbname \
  -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
  hasura/graphql-engine:latest

但我也有一个 Postgres 实例,只能使用三个证书访问:

psql "sslmode=verify-ca sslrootcert=server-ca.pem \
      sslcert=client-cert.pem sslkey=client-key.pem \
      hostaddr=$DB_HOST \
      port=$DB_PORT\
      user=$DB_USER dbname=$DB_NAME"

我没有看到允许我以这种方式连接到 Postgres 实例的 Hasura 配置。

这是我想传递给数据库连接 URL 的东西吗?

我应该怎么做?

【问题讨论】:

    标签: postgresql ssl hasura


    【解决方案1】:

    您需要将证书挂载到 docker 容器中,然后配置 libpq(这是 hasura 在下面使用的)以将所需的证书与这些 environment variables 一起使用。它会是这样的(我还没有测试过):

    docker run -d -p 8080:8080 \
      -v /absolute-path-of-certs-folder:/certs
      -e HASURA_GRAPHQL_DATABASE_URL=postgres://hostname:port/dbname \
      -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
      -e PGSSLMODE=verify-ca \
      -e PGSSLCERT=/certs/client-cert.pem \
      -e PGSSLKEY=/certs/client-key.pem \
      -e PGSSLROOTCERT=/certs/server-ca.pem \
      hasura/graphql-engine:latest
    

    【讨论】:

      猜你喜欢
      • 2019-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多