首页主机资讯centos下pgadmin网络配置技巧

centos下pgadmin网络配置技巧

时间2025-11-18 13:16:04发布访客分类主机资讯浏览483
导读: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> :5050http://< 服务器IP> /(80/443)。若 pgAdmin 需要连接远程数据库,数据库端需开放 PostgreSQL 5432/TCP,而浏览器访问 pgAdmin 本身使用的是 pgAdmin 的服务端口(5050 或 80/443),不要混淆两者。

二 监听地址与端口配置

  • 直接运行 pgAdmin4 服务(常见路径 /usr/pgadmin4/,配置文件 /usr/pgadmin4/config_distro.pyconfig_local.py):
    • 设置监听地址与端口(示例为监听所有接口、端口 5050):
      • 在配置中确保:DEFAULT_SERVER=‘0.0.0.0’;DEFAULT_SERVER_PORT=5050
    • 使配置生效并重启服务:
      • sudo systemctl restart pgadmin4
  • 通过 Apache httpd 托管(RPM 包安装常见为 /etc/httpd/conf.d/pgadmin4.conf):
    • 修改 Apache 监听与虚拟主机,允许外部访问:
      • Listen 80(或 443 并配置 SSL)
      • ServerName 设为服务器 IP/域名
    • 重启 Apache:
      • sudo systemctl restart httpd
  • 验证监听是否生效:
    • 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_addressespg_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
centos如何解决pgadmin安装问题 centos中pgadmin备份与恢复技巧

游客 回复需填写必要信息