我可以从 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 的东西吗?
我应该怎么做?
最佳答案
您需要将您的证书安装到 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
关于postgresql - Hasura 使用 SSL 证书进行 Postgres 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57420156/