对 Postgresql 使用 Letsencrypt 证书

对 Postgresql 使用 Letsencrypt 证书

我已成功为 Debian 8 Jessie 上的 NGINX 网络服务器配置了 Letsencrypt。

现在我已经安装了 Postgresql 9.4,并希望使用 LE 证书(在 中)进行 SSL 连接。我已在配置文件 ( )/etc/letsencrypt/live/mydomain/com/...中设置了证书和密钥的路径。/etc/postgresql/9.4/main/postgresql.conf

可以预见的是,当我尝试通过它重新启动 Postgres 时,pg_ctlcluster它会因Permission denied证书而失败。我了解 Postgresql 是以用户身份运行的PostgreSQL 的并且该用户无权访问该目录。

我该如何以一种干净的方式解决这个问题?

答案1

您可以将 postgres 用户添加到 wheel 组或可以访问目录 /etc/letsencrypt/live/mydomain/ 的其他组,或者让 postgres 用户成为证书的所有者(如果是专门使用的话)。

将 postgres 所有者设置为假设位置的示例命令

sudo mkdir /etc/postgres/
sudo mv /etc/letsencrypt/live/mydomain/com/pg.crt /etc/postgres/pg.crt
sudo mv /etc/letsencrypt/live/mydomain/com/pg.key /etc/postgres/pg.key
sudo chown -R postgres: /etc/postgres

然后您需要调整 /etc/postgresql/9.4/main/postgresql.conf 以指向新路径。

答案2

或者向存储密钥的目录添加一个 acl(使其成为默认 acl,以便在添加新文件时它可以工作)。

您需要设置 acl 的目录是(至少在 centos 上)/etc/letsencrypt/archive/[your fqdn here],因为 /etc/letsencrypt/live/[your fqdn here] 中的文件只是符号链接

相关内容