PHPのPDOでAzure Database for MySQLにSSL接続する方法

PHPのPDOからAzure Database for MySQLにSSL接続する機会があったので、接続方法を紹介します。

  1. Azure Database for MySQLについて
  2. PDOでAzure Database for MySQLにSSL接続
  3. まとめ

1. Azure Database for MySQLのSSL接続ついて

Azure Database for MySQLのデフォルトではSSL接続の強制が有効になっています。

SSL接続を無効にすることもできますが、Azureは無効にしないことを推奨しています。

2. PDOでAzure Database for MySQLにSSL接続

PHPのPDOを使う際、なんの設定もせずDBに接続しようとすると、SSL接続を強制しているAzure Database for MySQLには接続できません。

ここでは、PHPのPDOでAzure Database for MySQLに接続する方法を紹介します。

2.1 SSL証明書をダウンロード

Azure Database for MySQLのSSL接続に必要な証明書を

https://www.digicert.com/CACerts/BaltimoreCyberTrustRoot.crt.pem

からダウンロードします。

(Microsoft Internet ExplorerMicrosoft Edge の場合証明書の名前を BaltimoreCyberTrustRoot.crt.pem に変更してください。)

ダウンロードしたSSL証明書をローカル環境に保存しておいてください。

2.2 PDOのSSL設定

以下がPDOでSSL接続するコードになります。

先程ダウンロードしたSSL証明書のパスをPDO::MYSQL_ATTR_SSL_CA に設定するだけで接続できます。

3. まとめ

SSL周りにあまり詳しくなかったのでSSL接続することに少し構えていたのですが、SSLの設定が既にされてあるAzure Database for MySQLに接続するだけでしたので思ったより簡単でした。

参考になればと思います。

参考

https://docs.microsoft.com/ja-jp/azure/mysql/howto-configure-ssl



❏❏ TOPIC ❏❏ ------------------------------------------------------------

カスタム自由!フリーECサイトパッケージ
チャットボット導入サービス
WEBシステム開発・スマホアプリ開発はSRIAへ