Ubuntu 中 pgAdmin 配置 SSL 的完整指南
一 前置说明
二 浏览器到 pgAdmin 启用 HTTPS(推荐)
server {
listen 443 ssl http2;
server_name your.domain.com;
ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:5050; # pgAdmin 监听地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
SECURE_SSL_REDIRECT = True
SSL_CERT_FILE = '/etc/pgadmin4/server.crt'
SSL_KEY_FILE = '/etc/pgadmin4/server.key'
SECURE_SSL_REDIRECT = True
SSL_CERT_FILE = '/etc/pgadmin4/server.crt'
SSL_KEY_FILE = '/etc/pgadmin4/server.key'
三 pgAdmin 到 PostgreSQL 启用 SSL
ssl = on
ssl_cert_file = '/etc/postgresql/16/main/server.crt'
ssl_key_file = '/etc/postgresql/16/main/server.key'
hostssl all all 0.0.0.0/0 md5
四 容器化部署的快捷做法(Docker/Podman)
docker run -d --name pgadmin \
-p 443:443 \
-e PGADMIN_CONFIG_SERVER_MODE=False \
-e PGADMIN_ENABLE_TLS=True \
-v /host/certs:/certs \
-e PGADMIN_CONFIG_SSL_CERT_FILE=/certs/server.crt \
-e PGADMIN_CONFIG_SSL_KEY_FILE=/certs/server.key \
dpage/pgadmin4:latest
五 常见问题与排查