Mysql
 sql >> Baza danych >  >> RDS >> Mysql

php 5.x 7.x, błąd pdo ssl:certyfikat równorzędny CN=`jakaśNazwa' nie pasuje do oczekiwanego CN='jakieśIP'

Sprawiliśmy, że zadziałało to dla naszych wewnętrznych certyfikatów z podpisem własnym, nie używając adresów IP, ale nazw komputerów (+domen) jako CN i ustawień połączenia.

Więc umieść 'dbServer1.company.local' jako CN dla certyfikatu serwera i użyj tego samego 'dbServer1.company.local' adres jako część hosta DSN dla połączenia PDO. Jeśli chcesz, możesz po prostu użyć 'dbServer1' ale upewnij się, że używasz go w obu miejscach.

To cię pobudzi do działania:

$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);

Zarządzamy własnym DNS, więc rozwiązujemy dbServer1.company.local nie jest to problem, ale jeśli Twój serwer nie może go rozwiązać lub nie możesz/nie możesz zarządzać wpisem DNS, zhakuj coś takiego jak poniżej do swojego etc/hosts plik:

10.5.5.20 dbServer1.company.local

lub

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. CakePHP zagnieżdżanie dwóch zapytań wybierających

  2. Skopiuj dwie kolumny z jednej tabeli do drugiej, ale tylko unikalne wartości

  3. Jak pobrać wszystkie rekordy według klucza obcego za pomocą Laravel?

  4. SQLSTATE[HY000] [2002] php_network_getaddresses:getaddrinfo nie powiodło się:podana nazwa węzła lub nazwa serwera lub nieznana

  5. MySQL średnia liczba godzin między utworzonymi datami i godzinami w określonym przedziale czasu