【问题标题】:Canot connect to postgresql server from out无法从外部连接到 postgresql 服务器
【发布时间】:2013-05-07 06:06:14
【问题描述】:

我想从另一台服务器连接到 postgresql,但出现以下错误。我搜索并找到了一些类似下面的结果,但是在再次发生错误之后发生了这些错误

postgresql.conf 中将 listen_addresseslocalhost 更改为 *

pg_hba.conf 中将 127.0.0.1/32 更改为 0.0.0.0/0

重启服务器

错误:

无法连接到服务器:连接被拒绝。服务器是否正在运行 在主机“IP 号”上 并在端口 5432 上接受 TCP/IP 连接?

【问题讨论】:

  • 如果从 localhost 连接正常,问题的原因可能在于运行 Postgres 的服务器的防火墙。

标签: postgresql pgadmin


【解决方案1】:

尝试检查网络流量是否到达服务器。您可以嗅探网络流量以查看发生了什么。测量客户端和服务器并检查通信。

sudo tcpdump -A -n -s 0 -w test_on_client.log port 5432

在您尝试使用 CTRL-C 连接停止 tcpdump 并使用 Wireshark 检查日志文件后。 这个过程会发现每一个网络连接问题。

【讨论】:

    【解决方案2】:

    我建议您应该按照以下步骤操作。

    1. 检查您的 PostgreSQL SERVER 是否正在运行。
    2. 检查listen_addresses参数(postgresql.conf)
    3. 检查你的postgresql的端口号(端口参数 postgresql.conf )
    4. 检查数据库服务器的防火墙策略,设置 允许您的 postgresql 的端口。
    5. 如果您想从另一台服务器连接您的数据库,可能是您 应该将 pg_hba.conf 设置如下:
    # TYPE DATABASE 用户 CIDR-ADDRESS 方法 本地所有人都信任 托管所有所有 0.0.0.0/0 md5

    【讨论】:

    • 我检查了你的所有步骤,但还是无法访问
    • @SajjadZare 那么可能是防火墙/路由器 您的数据库服务器和外部之间正在过滤流量。使用tcpdumpwireshark 进行跟踪。还要确保您没有使用像 196.168.x.x、172... 或 10.x.x.x 这样的私有 IP,并且您没有任何 NAT。
    • ssh可以使用tcpdump吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 2019-10-08
    • 2018-11-03
    • 1970-01-01
    • 2017-08-02
    • 2017-03-03
    相关资源
    最近更新 更多