PostgreSQL tüm gelen bağlantıları kabul edecek şekilde nasıl yapılandırılır


106

Kaynak IP adresinden bağımsız olarak tüm gelen bağlantıları kabul edecek şekilde yapılandırmak istediğim bir PostgreSQL veri tabanım var. Bu, pg_hba.conf dosyasında nasıl yapılandırılabilir? PostgreSQL 8.4 sürümünü kullanıyorum.

Yanıtlar:


216

Sadece kullan 0.0.0.0/0.

host    all             all             0.0.0.0/0            md5

Emin olun listen_addressesin postgresql.conf(veya ALTER SYSTEM SET) kullanılabilir tüm IP arayüzleri üzerinde gelen bağlantıları sağlar.

listen_addresses = '*'

Değişikliklerden sonra konfigürasyonu yeniden yüklemeniz gerekir. Bunu yapmanın bir yolu, bunu SELECTbir süper kullanıcı olarak yürütmektir .

SELECT pg_reload_conf();

bu gerçekten yazıyla çalışıyor md5mu? Ben türünü kullanmak için gerekli olacağını düşündüm trust...
Dan Larocque

5
"güven", tüm kullanıcıların herhangi bir parola olmadan bağlanmasına izin verir. Bu, kullanmayacağım bir şey, her zaman kullanmanız gereken en düşük şifre şifre. Kendi bilgisayarınızda bile.
Frank Heikens

1
ah, soruyu farklı okudum - tüm müşterilerden gelen bağlantıları koşulsuz olarak kabul etmeyi kastettiğini düşündüm (bazı önemsiz testler için belki). Şimdi ne elde ettiğini anlıyorum.
Dan LaRocque

6
NOT : Ağınız IPv6 ise, pg_hba.conf dosyasını değiştirirken kullanmak ::/0yerine kullanmanız gerekir 0.0.0.0/0.
Aron Boyette

2
postgresParolanızın güçlü olduğundan emin olun : sudo -u postgres psql, \password.
Adobe

47

0.0.0.0/0 tüm IPv4 adresleri için

::0/0 tüm IPv6 adresleri için

all herhangi bir IP adresiyle eşleşmek için

samehost sunucunun kendi IP adreslerinden herhangi biriyle eşleşmek için

samenet sunucunun doğrudan bağlı olduğu herhangi bir alt ağdaki herhangi bir adresi eşleştirmek için.

Örneğin

host    all             all             0.0.0.0/0            md5


0

Tüm dosyaları postgres 12 ile centos üzerinde yapılandırın:

1. adım: dosyayı arayın ve düzenleyin

sudo vi /var/lib/pgsql/12/data/pg_hba.conf

"i" ye basın ve IPv4 satırında değiştirin

host    all             all             0.0.0.0/0            md5

2. adım: postgresql.conf dosyasını arayın ve düzenleyin

sudo vi /var/lib/pgsql/12/data/postgresql.conf

son satırı ekle: listen_addresses = '*': wq! (dosyayı kaydet) - 3. adım: yeniden başlatın

systemctl restart postgresql-12.service

-6

Bu satırı postgres klasörünün pg_hba.conf dosyasına ekleyin

host    all    all    all    trust

"güven", tüm kullanıcıların herhangi bir parola olmadan bağlanmasına izin verir.


Koda biraz yorum ekleyebilir misiniz? Nereye koyulur ve nasıl çalışır?
Alistra

4
Bu kod parçacığı açığız ve bazı yardım sağlamak görülebilir fakat bunun olacağını bunun bir açıklama dahil eğer büyük ölçüde geliştirilmiş bir nasıl ve niçin bu çözer sorunu. Sadece şimdi soran kişi değil, gelecekte okuyucular için soruyu cevapladığınızı unutmayın! Lütfen açıklama eklemek için cevabınızı düzenleyin ve hangi sınırlamaların ve varsayımların geçerli olduğuna dair bir gösterge verin.
Toby Speight

tüm IP'lerden bağlantılara izin ver gerçekten güvensiz
sandes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.