centos下pgadmin网络配置技巧
导读:CentOS 下 pgAdmin 网络配置技巧 一 部署形态与端口规划 先明确使用的是 pgAdmin 4 Web 版(通过 HTTP/HTTPS 访问)还是 桌面版(本机使用)。Web 版常见部署方式包括:直接运行 pgAdmin4 服...
CentOS 下 pgAdmin 网络配置技巧
一 部署形态与端口规划
- 先明确使用的是 pgAdmin 4 Web 版(通过 HTTP/HTTPS 访问)还是 桌面版(本机使用)。Web 版常见部署方式包括:直接运行 pgAdmin4 服务(常见端口如 5050),或通过 Apache httpd + WSGI 托管(常见端口 80/443)。远程访问时,浏览器访问地址分别为 http://< 服务器IP> :5050 或 http://< 服务器IP> /(80/443)。若 pgAdmin 需要连接远程数据库,数据库端需开放 PostgreSQL 5432/TCP,而浏览器访问 pgAdmin 本身使用的是 pgAdmin 的服务端口(5050 或 80/443),不要混淆两者。
二 监听地址与端口配置
- 直接运行 pgAdmin4 服务(常见路径 /usr/pgadmin4/,配置文件 /usr/pgadmin4/config_distro.py 或 config_local.py):
- 设置监听地址与端口(示例为监听所有接口、端口 5050):
- 在配置中确保:DEFAULT_SERVER=‘0.0.0.0’;DEFAULT_SERVER_PORT=5050
- 使配置生效并重启服务:
- sudo systemctl restart pgadmin4
- 设置监听地址与端口(示例为监听所有接口、端口 5050):
- 通过 Apache httpd 托管(RPM 包安装常见为 /etc/httpd/conf.d/pgadmin4.conf):
- 修改 Apache 监听与虚拟主机,允许外部访问:
- Listen 80(或 443 并配置 SSL)
- ServerName 设为服务器 IP/域名
- 重启 Apache:
- sudo systemctl restart httpd
- 修改 Apache 监听与虚拟主机,允许外部访问:
- 验证监听是否生效:
- ss -ltnp | grep -E ‘:(5050|80|443)’
- 远程浏览器访问:http://< 服务器IP> :< 端口> 或 https://< 域名> /
- 注意:不要把 pgAdmin 的端口写成 5432(那是 PostgreSQL 的端口);pgAdmin 作为客户端连接数据库时使用 5432,而浏览器访问 pgAdmin 使用 5050/80/443。
三 防火墙放行与访问控制
- 启用并管理 firewalld:
- sudo systemctl start firewalld & & sudo systemctl enable firewalld
- 放行端口(按实际部署选择):
- 直接运行 pgAdmin4:sudo firewall-cmd --permanent --zone=public --add-port=5050/tcp
- Apache 托管:sudo firewall-cmd --permanent --add-service=http(以及 --add-service=https 若启用 SSL)
- 允许 pgAdmin 连接数据库(数据库端端口):sudo firewall-cmd --permanent --add-port=5432/tcp
- 重载规则:sudo firewall-cmd --reload
- 精细化来源 IP 控制(可选,示例仅允许 192.168.1.100 访问 pgAdmin 的 5050 端口):
- sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.100” port port=“5050” protocol=“tcp” accept’
- 重载规则:sudo firewall-cmd --reload
- 查看规则与状态:
- sudo firewall-cmd --list-all
- sudo firewall-cmd --state
- 提示:若使用云服务器,还需在云平台安全组放行对应端口(如 5050/80/443/5432)。
四 数据库侧网络与访问控制
- 为了让 pgAdmin 能从应用服务器连接数据库,需同时调整数据库侧的网络与认证策略(以下为 PostgreSQL 侧配置):
- 修改 postgresql.conf:设置 listen_addresses=‘0.0.0.0’(或指定内网接口),确保监听外部接口
- 修改 pg_hba.conf:添加允许网段与认证方式,例如
- host all all 192.168.1.0/24 md5
- host all all 0.0.0.0/0 md5(公网慎用,建议限定网段)
- 重载数据库配置:sudo systemctl reload postgresql-
- 安全建议:
- 避免使用 trust 认证;为应用与运维分配不同角色与最小权限
- 结合防火墙与 pg_hba 实现“白名单 + 强口令/证书”双重控制
五 连通性验证与常见问题排查
- 端口与服务状态检查:
- ss -ltnp | grep -E ‘:(5050|80|443|5432)’
- sudo systemctl status pgadmin4 或 sudo systemctl status httpd
- 外部连通性测试:
- curl -I http://< 服务器IP> :< 端口> 或在本机执行:nc -vz < 服务器IP> < 端口>
- 浏览器访问:
- http://< 服务器IP> :5050(直接运行 pgAdmin4)
- http://< 服务器IP> / 或 https://< 域名> /(Apache 托管)
- 常见问题速查:
- 访问被拒绝或超时:核对 firewalld/云安全组是否放行对应端口(5050/80/443/5432)
- 能访问登录页但连不上数据库:核对数据库 listen_addresses、pg_hba.conf 网段与认证方式,以及数据库监听端口 5432 是否可达
- SELinux 干扰(如端口非默认类型):使用 sudo setsebool -P httpd_can_network_connect 1(按需启用),或临时 setenforce 0 验证是否为 SELinux 问题
- 配置文件路径与参数名因安装方式/版本不同可能略有差异,修改前先备份并确认实际配置文件位置与生效参数
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos下pgadmin网络配置技巧
本文地址: https://pptw.com/jishu/750053.html
