PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पीजी मणि sslmode =सत्यापन-पूर्ण, प्रमाणपत्र कहां रखें?

Pg मणि libpq का उपयोग करता है आंतरिक रूप से, वही क्लाइंट लाइब्रेरी जैसे PostgreSQL टूल psql

डिफ़ॉल्ट रूप से libpq ~/.postgresql/ में दिखता है सीए प्रमाणपत्र के लिए।

मैनुअल से :

... और ...

AFAIK रेल आपके द्वारा अपने database.yml . में डाली गई किसी भी चीज़ को पास कर देती है करने के लिए Pg मणि, जो इसे libpq . पर भेजता है एक कनेक्शन पैरामीटर के रूप में। इसलिए आपको अपने database.yml . में कुंजी/मान प्रविष्टियां जोड़ने में सक्षम होना चाहिए श्लोक जैसे:

sslmode: verify-full
# and if you don't want to use ~/.postgresq/root.crt for the cert location, set:
sslrootcert: /path/to/my/app/root/cert.crt

IMO को libpq . के लिए एकल रूट प्रमाणपत्र पास करने की आवश्यकता है एक डिजाइन दोष है। इसे एक विश्वसनीय प्रमाणपत्र डेटाबेस लोड करना चाहिए। एसएसएल क्लाइंट प्रमाणपत्रों के उपयोग के लिए इसी तरह की समस्याएं मौजूद हैं, जहां आप कीस्टोर और सर्टिफिकेट स्टोर की आपूर्ति नहीं कर सकते हैं, आपको किसी दिए गए होस्ट के लिए विशिष्ट फाइलें पास करनी होंगी। ऐसा लगता है कि शायद यह आपके लिए ठीक है क्योंकि आप अपस्ट्रीम प्रमाणपत्र हस्ताक्षर करने वाले प्राधिकरण को जानते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्यों आदेश \dt देता है - कोई संबंध नहीं मिला?

  2. सबस्ट्रिंग के लिए pg_search मणि ​​का उपयोग करके रेल पर पीजी पूर्ण पाठ खोज

  3. सभी PostgreSQL टेबल से जुड़ें और एक पायथन डिक्शनरी बनाएं

  4. SQL क्वेरी को प्रोग्रामेटिक रूप से बनाने के लिए मजबूत दृष्टिकोण

  5. तालिका को पोस्टग्रेज करने के लिए स्पार्क डेटाफ्रेम यूपीएसईआरटी