Chúng tôi đã làm cho nó hoạt động cho các chứng chỉ tự ký nội bộ của chúng tôi bằng cách không sử dụng địa chỉ IP mà sử dụng tên máy (+ miền) làm CN và cài đặt kết nối.
Vì vậy, hãy đặt 'dbServer1.company.local'
làm CN cho chứng chỉ máy chủ và sử dụng cùng một 'dbServer1.company.local'
địa chỉ làm phần chủ của DSN cho kết nối PDO. Nếu muốn, bạn chỉ cần sử dụng 'dbServer1'
nhưng hãy đảm bảo rằng bạn sử dụng nó ở cả hai nơi.
Điều này sẽ giúp bạn tiếp tục:
$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);
Chúng tôi quản lý DNS của riêng mình để phân giải dbServer1.company.local
không phải là vấn đề nhưng nếu máy chủ web của bạn không thể giải quyết vấn đề đó cho bạn hoặc bạn không / không thể quản lý mục nhập DNS, thì hãy xâm nhập vào thứ gì đó như sau vào etc/hosts
của bạn tệp:
10.5.5.20 dbServer1.company.local
hoặc
10.5.5.20 dbServer1