12月 29

CakePHP の環境で、SSL接続必須な PostgreSQL に接続する方法の覚え書き。

PostgreSQL に SSL 接続するためには、パラメータとして、”sslmode=require” を渡す必要があります。パラメータの渡し方がうまく行かずに ソースにパッチを当てるしかないかと思ったのですが、CakePHP 3.x の設定ファイル config/app.php で、下記のように設定することで、接続できました。

    'Datasources' => [
        'default' => [
            'className' => 'Cake\Database\Connection',
            'driver'    => 'Cake\Database\Driver\Postgres',
            'persistent' => false,
            'host'      => 'db.example.com',
            'port'     => 5432,
            'username' => 'username',
            'password' => 'password',
            'database' => 'database',
            'schema'   => 'public',
            'prefix'   => '',
            'encoding' => 'utf8',
            'timezone' => 'UTC',
            'cacheMetadata' => true,
            'flags' => [ 
                'sslmode' => 'require',
            ],
            'log' => false,
            'quoteIdentifiers' => false,
            //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
        ],

具体的には、

            'flags' => [ 
                'sslmode' => 'require',
            ],

の部分で、 sslmode のパラメータを渡しています。

他のパラメータも同じように渡すことができるようです。

Comments are closed.

preload preload preload