MariaDB + SSL + symfony 7 + docker = Доступ запрещен для пользователя 'app_ssl'@'172.27.0.3' (с использованием пароля: ДPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 MariaDB + SSL + symfony 7 + docker = Доступ запрещен для пользователя 'app_ssl'@'172.27.0.3' (с использованием пароля: Д

Сообщение Anonymous »

Я не могу подключить свое приложение Symfony, работающее в Docker, к mariadb с помощью SSL.
Оно отлично работает без SSL (используя пользовательское приложение вместо app_ssl)
Также раньше работало нормально перед обновлением с Symfony 6 на 7
сертификаты в порядке, так как они работали до обновления с SF6 до 7
symfony основана на php8.3
Ошибка Symfony:
An exception occurred in the driver: SQLSTATE[HY000] [1045] Access denied for user 'app_ssl'@'172.27.0.3' (using password: YES)

Ошибка журнала базы данных:
2024-07-02 12:25:19 424 [Warning] Access denied for user 'app_ssl'@'172.27.0.3' (using password: YES)

составление докера
database:
container_name: mariadb
image: "mariadb:10.9.2"
restart: always
env_file: .env
volumes:
- "${SQL_INIT}:/docker-entrypoint-initdb.d"
- type: bind
source: ${MARIADB_DATA_DIR}
target: /var/lib/mysql
- type: bind
source: ${MARIADB_LOG_DIR}
target: /var/logs/mysql
- type: bind
source: ${MARIADB_CERTS_DIR}
target: /etc/certs/
- type: bind
source: /etc/localtime
target: /etc/localtime:ro
- type: bind
source: ${MARIADB_BACKUP_DIR}
target: /opt/mysql/backup
- type: bind
source: ${MARIADB_BACKUP_SCRIPT_DIR}
target: /etc/periodic/daily
ports:
- "3306:3306"
networks:
app_network:
command:
[
"--require_secure_transport=OFF",
"--ssl-key=/etc/certs/server-key.pem",
"--ssl-cert=/etc/certs/server-cert.pem",
"--ssl-ca=/etc/certs/ca-cert.pem",
]

пользователи
select User, ssl_type, ssl_cipher, host from mysql.user;
+-------------+----------+------------+-----------+
| User | ssl_type | ssl_cipher | Host |
+-------------+----------+------------+-----------+
| mariadb.sys | | | localhost |
| root | | | localhost |
| root | | | % |
| app | | | % |
| app_ssl | ANY | | % |
+-------------+----------+------------+-----------+
5 rows in set (0.016 sec)

SHOW VARIABLES LIKE '%ssl%';
+---------------------+----------------------------+
| Variable_name | Value |
+---------------------+----------------------------+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | /etc/certs/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/certs/server-cert.pem |
| ssl_cipher | |
| ssl_crl | |
| ssl_crlpath | |
| ssl_key | /etc/certs/server-key.pem |
| version_ssl_library | OpenSSL 3.0.2 15 Mar 2022 |
+---------------------+----------------------------+

MariaDB [(none)]> status
--------------
mysql Ver 15.1 Distrib 10.9.2-MariaDB, for debian-linux-gnu (aarch64) using EditLine wrapper

Connection id: 426
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.9.2-MariaDB-1:10.9.2+maria~ubu2204 mariadb.org binary distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /run/mysqld/mysqld.sock
Uptime: 2 days 2 hours 50 min 0 sec

symfony Doctory.yaml
doctrine:
dbal:
server_version: '%env(DATABASE_VERSION)%'
dbname: '%env(DATABASE_NAME)%'
host: '%env(DATABASE_HOST)%'
port: '%env(DATABASE_PORT)%'
user: '%env(DATABASE_USER)%'
password: '%env(DATABASE_PASSWORD)%'
driver: '%env(DATABASE_DRIVER)%'
charset: UTF8
options:
PDO::MYSQL_ATTR_SSL_KEY: '%DATABASE_PUB_KEY%'
PDO::MYSQL_ATTR_SSL_CERT: '%DATABASE_PRIV_KEY%'
PDO::MYSQL_ATTR_SSL_CA: '%DATABASE_CA_CERT%'
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT: false


мой пользователь имеет правильные разрешения и был создан следующим образом:
GRANT ALL ON db_dev.* TO 'app_ssl'@'%' IDENTIFIED BY 'pass' REQUIRE SSL;
GRANT USAGE ON *.* TO `app_ssl`@`%`;
GRANT ALL PRIVILEGES ON `db_dev`.* TO `app_ssl`@`%`;
FLUSH PRIVILEGES;


Подробнее здесь: https://stackoverflow.com/questions/786 ... sl172-27-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»