tidak dapat terhubung ke basis data postgresql jarak jauh

16

Saya mencoba untuk terhubung ke basis data psql jarak jauh. Sebelum saya menambahkan entri pg_hba.conf dengan alamat IP klien, saya mendapatkan pesan kesalahan:

xdev@xdevbox:~$ psql -U postgres testdb -h 10.1.1.47
psql: FATAL:  no pg_hba.conf entry for host "10.201.50.71", user "postgres", database "testdb", SSL off

Saya menambahkan IP klien dengan pengaturan kepercayaan. Saya juga mengubah alamat mendengarkan di postgres.conf di server untuk mendengarkan "*". Kemudian saya me-restart server database menggunakan /etc/init.d/postgresql restart perintah.

Sekarang ketika saya mencoba untuk terhubung, saya mendapatkan pesan kesalahan berikut:

psql: could not connect to server: Connection refused
    Is the server running on host "10.1.1.47" and accepting
    TCP/IP connections on port 5432?

di postgresql.conf, port diatur ke 5432. Saya tidak yakin harus memeriksa apa lagi.

Terima kasih

dot
sumber
Bisakah Anda ping alamat itu?
dezso
1
Saya akan mengatakan DB tidak restart dengan benar ketika Anda me-restart itu. Periksa file log PostgreSQL untuk alasan mengapa - mungkin salah ketik pg_hba.conf.
Craig Ringer
Saya harus mengubah alamat mendengarkan dari * ke alamat ip tertentu.
dot

Jawaban:

22

Anda harus mengkonfigurasi dua file berikut

pg_hba.conf

host all all 0.0.0.0/0 md5

postgresql.conf

listen_addresses='*'

Anda harus memeriksa apakah port 5432 terbuka: http://www.yougetsignal.com/tools/open-ports/

Jika tidak maka tambahkan aturan ke iptables:

iptables -A INPUT -s 0/0 -p tcp --dport 5432 -j ACCEPT

0/0: Jika Anda ingin orang lain mengaksesnya. Anda dapat mengubahnya ke alamat IP tertentu atau rentang alamat IP.

Khakwani Denmark
sumber
1
Hanya tambahan. Anda tidak perlu menggunakan alat eksternal. Gunakan saja telnet [yourServerIp] 5432jika Anda belum menginstal telnet, Anda dapat menggunakan PowerShelldi windows misalnya.
Ionic
@Ionic itu benar
Danish Khakwani
2
Yah panggil aku paranoid, tapi aku tidak percaya terlalu banyak layanan di internet. ;-) Hanya untuk mewaspadai. :-)
Ionic
alat pengecekan port membantu saya di sini
Shobi