SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.11.2015 02:07:27

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

связка ssl and php

Доброго времени суток!

У меня стоит debian 7
установил php5-mysqlnd

установил ssl для БД
mkdir /etc/mysql/ssl && cd /etc/mysql/ssl/
openssl genrsa 2048 > mysql-ca-key.pem
openssl req -new -x509 -nodes -days 3660 -key mysql-ca-key.pem -out mysql-ca-cert.pem
openssl rsa -in mysql-ca-key.pem -out mysql-ca-key.pem
openssl req -newkey rsa:2048 -days 3660 -nodes -keyout mysql-server-key.pem -out mysql-server-req.pem
openssl rsa -in mysql-server-key.pem -out mysql-server-key.pem
openssl x509 -req -in mysql-server-req.pem -days 366 -CA mysql-ca-cert.pem -CAkey mysql-ca-key.pem -set_serial 01 -out mysql-server-cert.pem
openssl verify -CAfile mysql-ca-cert.pem mysql-server-cert.pem

в my.cnf
[mysql]
ssl-ca=/etc/mysql/ssl/mysql-ca-cert.pem
ssl-cert=/etc/mysql/ssl/mysql-server-cert.pem
ssl-key=/etc/mysql/ssl/mysql-server-key.pem
[mysqld]
ssl-ca=/etc/mysql/ssl/mysql-ca-cert.pem
ssl-cert=/etc/mysql/ssl/mysql-server-cert.pem
ssl-key=/etc/mysql/ssl/mysql-server-key.pem


в БД
        CREATE USER 'cluster_user'@'%' IDENTIFIED BY 'password';
    CREATE USER 'cluster_user'@'localhost' IDENTIFIED BY 'password';
    GRANT USAGE ON *.* TO 'cluster_user'@'%' REQUIRE SSL;
    GRANT USAGE ON *.* TO 'cluster_user'@'localhost' REQUIRE SSL;
        FLUSH PRIVILEGES;

напрямую к бд подключается.
mysql -ucluster_user -ppassword

Теперь самое интересное.

создал файл для проверки подключения к БД из php
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

$user = "cluster_user";
$password = "password";
$database = "super_db";
$host = "localhost";

$ssl = array(
                PDO::MYSQL_ATTR_SSL_KEY    =>'/etc/mysql/ssl/mysql-server-key.pem',
                PDO::MYSQL_ATTR_SSL_CERT=>''/etc/mysql/ssl/mysql-server-cert.pem',
                PDO::MYSQL_ATTR_SSL_CA    =>''/etc/mysql/ssl/mysql-ca-cert.pem'
        );
        try {
                $dbl = new PDO("mysql:host=$host;dbname=$database", $user, $password, $ssl);
                $dbl->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch(PDOException $e) {
echo $e->getMessage();
die;
        }

Ошибки

Warning: PDO::__construct(): this stream does not support SSL/crypto in /var/www/info2.php on line 17

Warning: PDO::__construct(): Cannot connect to MySQL by using SSL in /var/www/info2.php on line 17

Warning: PDO::__construct(): [2002] (trying to connect via unix:///var/run/mysqld/mysqld.sock) in /var/www/info2.php on line 17
SQLSTATE[HY000] [2002]

в чем проблема?
this stream does not support SSL/crypto  не пойму, ему что не нравится метод шифрования? Возможно я не так создал ssl? Помогите мне решить эту проблему!!!

Отредактированно saifuddin (09.11.2015 02:16:42)

Неактивен

 

#2 09.11.2015 10:52:30

saifuddin
Завсегдатай
Зарегистрирован: 09.11.2015
Сообщений: 76

Re: связка ssl and php

localhost заменить на 127.0.0.1   и все будет работать. Тема закрыта!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson