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

php 5.x 7.x, ssl pdo त्रुटि:सहकर्मी प्रमाणपत्र CN=`someName' अपेक्षित CN='someIP' से मेल नहीं खाता

हमने इसे अपने आंतरिक स्व-हस्ताक्षरित प्रमाणपत्रों के लिए आईपी पते का उपयोग न करके सीएन और कनेक्शन सेटिंग्स के रूप में मशीन (+डोमेन) नामों का उपयोग करके काम किया।

तो, 'dbServer1.company.local' डालें सर्वर प्रमाणपत्र के लिए CN के रूप में और उसी 'dbServer1.company.local' का उपयोग करें पता पीडीओ कनेक्शन के लिए डीएसएन के मेजबान भाग के रूप में। यदि आप चाहें, तो आप बस 'dbServer1' . का उपयोग कर सकते हैं लेकिन सुनिश्चित करें कि आप इसे दोनों जगहों पर इस्तेमाल करते हैं।

यह आपको जाने देगा:

$pdo_options = array(
    PDO::MYSQL_ATTR_SSL_KEY => 'path/to/client-key.pem',
    PDO::MYSQL_ATTR_SSL_CERT => 'path/to/client-cert.pem',
    PDO::MYSQL_ATTR_SSL_CA => 'path/to/ca.pem'
);

PDO::__construct('mysql:host=dbServer1.company.local;dbname=someDB','someUser', 'somePass', $pdo_options);

हम अपने स्वयं के DNS का प्रबंधन करते हैं ताकि dbServer1.company.local . का समाधान किया जा सके कोई समस्या नहीं है, लेकिन यदि आपका वेबसर्वर इसे आप हल नहीं कर सकता है या आप DNS प्रविष्टि का प्रबंधन नहीं कर सकते/नहीं कर सकते हैं, तो अपने etc/hosts में निम्न की तरह कुछ हैक करें फ़ाइल:

10.5.5.20 dbServer1.company.local

या

10.5.5.20 dbServer1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गलत mysql कॉन्फ़िगरेशन के साथ रूट पासवर्ड रीसेट करें

  2. PHP में विदेशी कुंजी अपवादों को संभालना

  3. एप्लिकेशन डेटाबेस से कनेक्ट करें

  4. php pdo mysql से केवल एक मान प्राप्त करें; मान जो चर के बराबर है

  5. MySQL में डेटा को नई तालिका में कॉपी करें