无法从外部主机连接到 PostgreSQL 服务器
Unable to connect to PostgreSQL server from external host connection
我在家里的 ubuntu 电脑上有一个 postgresql 服务器 运行ning。
我已经将服务器设置为 post-转发以接受外部连接。
但由于某些原因,我只能在本地电脑上连接它,我似乎无法从外部连接到它。
这是我对 /etc/postgresql/12/main/pg_hba.conf
、
的设置
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password
# IPv6 local connections:
host all all ::1/128 password
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all password
host replication all 127.0.0.1/32 password
host replication all ::1/128 password
这是 /etc/postgresql/12/main/postgresql.conf
、
的设置
listen_addresses = '*'
port = 5432
我已经将我的外部端口设置为 2345
,并在我的路由器上完成了端口转发。
当我运行、psql -h 127.0.0.1 -p 5432 -d postgres -U postgres
时,我可以连接到服务器。
但是当我运行,psql -h xxx.xx.xx.xx -p 2345 -d postgres -U postgres
(ip地址隐藏)时,我得到以下错误
psql: error: could not connect to server: could not connect to server: Operation timed out
Is the server running on host "xxx.xx.xx.xx" and accepting
TCP/IP connections on port 2345?
我也不认为我的路由器有任何问题,因为我正在使用它来转发 SSH 连接并且我可以很好地从外部连接进行连接。
我的设置有什么问题?
与@anarchy 进行了交谈,他启用了简单的防火墙 (uwf)。
向防火墙添加规则有效。
检查使用网络实用程序打开了哪些端口
netstat -lntu
检查 UFW 是否 运行
sudo uwf status
如果启用,请添加您要打开的端口
sudo ufw allow 22
然后重新加载防火墙
sudo ufw reload
我在家里的 ubuntu 电脑上有一个 postgresql 服务器 运行ning。
我已经将服务器设置为 post-转发以接受外部连接。
但由于某些原因,我只能在本地电脑上连接它,我似乎无法从外部连接到它。
这是我对 /etc/postgresql/12/main/pg_hba.conf
、
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all password
# IPv4 local connections:
host all all 127.0.0.1/32 password
# IPv6 local connections:
host all all ::1/128 password
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all password
host replication all 127.0.0.1/32 password
host replication all ::1/128 password
这是 /etc/postgresql/12/main/postgresql.conf
、
listen_addresses = '*'
port = 5432
我已经将我的外部端口设置为 2345
,并在我的路由器上完成了端口转发。
当我运行、psql -h 127.0.0.1 -p 5432 -d postgres -U postgres
时,我可以连接到服务器。
但是当我运行,psql -h xxx.xx.xx.xx -p 2345 -d postgres -U postgres
(ip地址隐藏)时,我得到以下错误
psql: error: could not connect to server: could not connect to server: Operation timed out
Is the server running on host "xxx.xx.xx.xx" and accepting
TCP/IP connections on port 2345?
我也不认为我的路由器有任何问题,因为我正在使用它来转发 SSH 连接并且我可以很好地从外部连接进行连接。
我的设置有什么问题?
与@anarchy 进行了交谈,他启用了简单的防火墙 (uwf)。 向防火墙添加规则有效。
检查使用网络实用程序打开了哪些端口
netstat -lntu
检查 UFW 是否 运行
sudo uwf status
如果启用,请添加您要打开的端口
sudo ufw allow 22
然后重新加载防火墙
sudo ufw reload