温馨提示×

centos pgadmin如何设置 ssl

小樊
48
2026-09-24 10:23:19
栏目: 云计算

在 CentOS 上为 pgAdmin(以 pgAdmin 4 为例)配置 SSL,通常涉及两种场景:

  1. pgAdmin 通过 HTTPS 访问(Web 模式)
  2. pgAdmin 连接 PostgreSQL 时使用 SSL

下面分别说明。


一、pgAdmin 4 使用 HTTPS(Web 访问)

1. 安装 pgAdmin 4(如未安装)

sudo dnf install -y pgadmin4-web

或

sudo yum install -y pgadmin4-web

2. 准备 SSL 证书

可以使用自签名证书或正式证书:

sudo mkdir -p /etc/pgadmin/ssl
sudo openssl req -new -x509 -days 365 -nodes \
  -out /etc/pgadmin/ssl/pgadmin.crt \
  -keyout /etc/pgadmin/ssl/pgadmin.key

3. 修改 pgAdmin 配置

编辑配置文件:

sudo vi /etc/pgadmin/config.py

添加或修改:

SERVER_MODE = True
SECURE = True
SSL_CERT_PATH = '/etc/pgadmin/ssl/pgadmin.crt'
SSL_KEY_PATH = '/etc/pgadmin/ssl/pgadmin.key'

4. 设置权限

sudo chown apache:apache /etc/pgadmin/ssl/*
sudo chmod 600 /etc/pgadmin/ssl/pgadmin.key

5. 重启服务

sudo systemctl restart httpd
# 或
sudo systemctl restart pgadmin4

浏览器访问:

https://<服务器IP>/pgadmin4

二、pgAdmin 连接 PostgreSQL 使用 SSL

1. PostgreSQL 端启用 SSL

编辑 postgresql.conf:

ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'

pg_hba.conf 示例:

hostssl all all 0.0.0.0/0 md5

重启 PostgreSQL:

sudo systemctl restart postgresql

2. pgAdmin 中配置 SSL

在 pgAdmin 中:

  • 服务器 → 属性 → Connection
  • 勾选 SSL mode
    • prefer(推荐)
    • require
    • verify-ca
    • verify-full

如需要客户端证书:

  • SSL certificate
  • SSL key
  • SSL root certificate

三、常见问题

1. 浏览器提示不安全

因为是自签名证书,属正常现象。

2. 权限错误

PostgreSQL / pgAdmin 对 key 文件权限非常严格,必须是 600。

3. SELinux 限制

如启用了 SELinux:

sudo setsebool -P httpd_can_network_connect 1

如果你能提供:

  • pgAdmin 版本
  • 是否为 Web 模式
  • 是否是连接 PostgreSQL 的 SSL

我可以给出更精确的配置步骤。

0 踩