2012-08-01 11 views
14

मैं केवल निर्दिष्ट आईपी से कनेक्शन स्वीकार करने के लिए PostgreSQL को कॉन्फ़िगर करना चाहता हूं। इसे किसी अन्य आईपी से अनुरोध स्वीकार नहीं करना चाहिए।केवल LOCALHOST के लिए काम करने के लिए PostgreSQL को कॉन्फ़िगर करें या निर्दिष्ट आईपी + पोर्ट

+0

Pg संस्करण? ओएस? क्या आपका मतलब केवल लोकहोस्ट है? या "केवल एक नामित गैर-स्थानीय आईपी पते से कनेक्शन स्वीकार करें"? –

उत्तर

13

निम्नलिखित pg_hba.conf स्थानीय अनुमति देता है और निर्दिष्ट IP विशेषाधिकार लॉगिन, है, लेकिन दूसरों को अस्वीकार करते हैं।

# TYPE DATABASE  USER   ADDRESS     METHOD 
local all    all          trust 
host testdb   testuser  192.168.1.1/32    md5 
host all    all   0.0.0.0/0     reject 
4

PostgreSQL के डेटा फ़ोल्डर में pg_hba.conf फ़ाइल देखें। यह क्लाइंट प्रमाणीकरण विन्यास फाइल है।

# TYPE DATABASE  USER   ADDRESS     METHOD 
host testdb   testuser  192.168.1.1    md5 
local testdb   all          md5 

pg_hba.conf फ़ाइल

+1

ध्यान दें कि PostgreSQL अभी भी 'portgresql.conf' में' listen_addresses' के माध्यम से किसी भी इंटरफ़ेस से अपने पोर्ट को टीसीपी सॉकेट कनेक्शन स्वीकार करेगा, यह केवल उन्हें प्रमाणित नहीं करने देगा। यदि आप एक टीसीपी हैंडशेक को भी रोकना चाहते हैं, तो आपको 'iptables' का उपयोग करना होगा। –

9

सबसे आसान तरीका है PostgreSQL केवल आने वाले कनेक्शन के लिए localhost पर सुन बनाने के लिए है करने के लिए ऊपर जोड़ें। postgresql.conf में प्रासंगिक पैरामीटर listen_addresses है। डॉकू here है।

संबंधित मुद्दे

 संबंधित मुद्दे