Ubuntu
安裝 Postgres 後埠 5432 監聽但無法訪問
我有一個由 Microsoft Azure 託管的 Ubuntu VM。它完全是空白的,然後我使用
sudo apt-get install postgresql
.我安裝的版本是
Ubuntu 10.10-0ubuntu0.18.04.1
.我按照本教程配置了 Postgres 以接受遠端連接:
- 我
postgresql.conf
通過設置編輯了我的文件listen_addresses = '*'
。pg_hba.conf
我通過添加以下兩行來編輯我的文件:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
我重新啟動了 Postgres,甚至重新啟動了整個伺服器。
當我執行
netstat -tln
時,我得到以下結果:Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 :::5432 :::* LISTEN
我
iptables
的完全是空的,在創建 VM 後我沒有對它做任何事情。從另一個客戶端,我嘗試執行
sudo -u postgres psql -h [host] -U postgres
,請求超時。當我
telnet [host] 5432
從另一個客戶端執行時,在超時之前什麼都不會發生。但是,執行telnet [host] 22
工作正常,並且執行telnet [host] 80
讓我拒絕連接,我認為這意味著我的主機至少正在偵聽這些埠。我在這裡能錯過什麼?
嘗試切換為 postgres 使用者並
psql
在安裝 postgres 的機器上輸入。這將確保安裝正確或錯誤。su - postgres psql
檢查 Azure 控制台中的防火牆,可能您必須啟用埠 5432。
可以在此處找到有關如何在 Azure VM 上打開埠的更多資訊。