Tóm tắt: PHP đưa ra lỗi khi sử dụng chứng chỉ tự ký như được cung cấp bởi Google Cloud SQL.Chứng chỉ tự ký SSL để kết nối với Mysql với PHP
Chi tiết: Tôi đang cố gắng kết nối với cá thể mysql của Google Cloud SQL bằng thư viện mysqli của PHP.
$db = mysqli_init();
mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('client-key.pem', 'client-cert.pem', 'server-ca.pem', NULL, NULL);
$query = mysqli_real_connect ($db, $host, $user, $pass, $dbname, 3306, NULL, MYSQLI_CLIENT_SSL);
Vì tôi hiểu Google cloud cho phép chứng chỉ tự ký, từ đó tôi đã tải xuống tệp client-key.pem, client-cert.pem, máy chủ-ca.pem.
tôi nhận được lỗi sau từ PHP khi chứng thực giấy chứng nhận:
mysqli_real_connect(): Peer certificate CN=`<project_name>' did not match expected CN=`<db_IP>'
Dựa trên nghiên cứu của tôi cho đến nay, có vẻ như tôi cần một cách để vô hiệu hóa Verify_Peer kiểm tra, mà dường như PHP không cho phép. Bạn có thể vui lòng xác thực điều này và/hoặc cung cấp cách sử dụng SSL với Google Cloud SQL từ PHP không?
Cảm ơn bạn.
Tôi đang tìm một cái gì đó như thế này (http://stackoverflow.com/questions/8443618/disable-certificate-verification-in-php-soapclient) nhưng đối với mysql. Cảm ơn! – user3376563
Bạn có thể [kết nối với SSL bằng cách sử dụng dòng lệnh mysql' client] (https://cloud.google.com/sql/docs/mysql-client#connect-ssl) không? – Nick