Postgresql Ubuntu中的开放端口
所以我正在使用AWS和EC2,并试图为Postgresql打开一个端口。在AWS中,我已经打开了它:Postgresql Ubuntu中的开放端口,postgresql,ubuntu,port,Postgresql,Ubuntu,Port,所以我正在使用AWS和EC2,并试图为Postgresql打开一个端口。在AWS中,我已经打开了它: TCP Port (Service) Source Action 0 - 65535 sg-92aadda2 (default) Delete 22 (SSH) 0.0.0.0/0 Delete 80 (HTTP) 0.0.0.0/0
TCP
Port (Service) Source Action
0 - 65535 sg-92aadda2 (default) Delete
22 (SSH) 0.0.0.0/0 Delete
80 (HTTP) 0.0.0.0/0 Delete
5432 0.0.0.0/0 Delete
执行netstat时,端口似乎正在侦听:
# netstat -an | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
执行localhost nmap时,我会得到以下结果:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp open postgresql
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp closed postgresql
这就是乐趣的开始。当我从备用主机执行nmap时,会得到以下结果:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp open postgresql
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp closed postgresql
我还查看了我的iptables,看看我是否遗漏了什么,但是iptables看起来是空的(这应该意味着它们实际上做的不多)
我是不是因为不知道如何访问ip而遗漏了什么。无论何时尝试,都会出现以下错误:
Is the server running on host "xx.xx.xx.xx" and accepting TCP/IP connections on port 5432?
我怎样才能打开端口,让外部服务器可以访问它?提前感谢=)如果您需要任何其他数据,请告诉我
编辑:如下所述,我测试了telnet,并且能够将telnet连接到本地主机,但是当从外部尝试时,我得到:
$ telnet xx.xx.xx.xx 5432
Trying xx.xx.xx.xx...
telnet: Unable to connect to remote host: Connection refused
另外,我仔细检查了一下,并且能够正确地将telnet连接到ssh:
$ telnet xx.xx.xx.xx 22
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
编辑
/etc/postgresql//main/postgresql.conf
并将侦听地址设置为传出接口或所有接口。重新启动postgresql:sudo服务postgresql重新启动
最后一种方法对我有效(thks Julio):
编辑:postgresql.conf
sudo nano/etc/postgresql/9.3/main/postgresql.conf
启用或添加:
listen\u addresses='*'
重新启动数据库引擎:
sudo服务postgresql重启
此外,您可以检查文件:pg_hba.conf
sudo nano/etc/postgresql/9.3/main/pg_hba.conf
并添加您的网络或主机地址:
托管所有192.168.1.0/24 md5
如果您编辑了postgresql.conf和main/pg_hba.conf但仍有问题,请尝试
sudo ufw allow 5432/tcp
要解锁psql端口如果您使用docker连接到主机的postgresql,您必须使用主机的ip,您可以通过运行ip addr show docker0
获得该ip,希望它能帮助他人。您遗漏了一个实际问题,因此不完全清楚您希望我们回答什么。此外,“每当我尝试时,我都会得到以下错误:“你在尝试什么,导致了这个错误?”?您是否尝试将telnet连接到服务器?此外,iptables中没有太多内容,但是如果您启用了默认的拒绝,那么除了您的iptables中指定允许的内容之外,没有任何内容进入该框iptables@RussellUhl对不起,我以为我已经问过了,但显然没有。我在最后加上了这个问题。我没有尝试远程登录服务器。我现在就试试,别担心。我在上面编辑了我的评论,以便在您的iptables中包含一些内容。你也一定要检查一下。对不起,恐怕我不知所措。确保您将防火墙关闭回原来的位置,直到找到solution@Aram看起来我们的速度和上面的评论一样:)这对我也有帮助:这只是对任何做这件事的人的评论:listen\u addresses
IP address参数就是posgresql正在监听的参数(输入目标在iptables
语法中),而不是它正在侦听的IP(输入源)。