外部通信のTLS証明書検証
Webhookの送信、外部サービス連携など、a-blog cms がサーバー側で外部にHTTP(S)通信を行う機能では、Ver. 3.2.29(および 3.1.75 / 3.0.61 )以降、TLS証明書の検証がデフォルトで有効になっています。
影響
送信先・連携先のサーバーが自己署名証明書や期限切れ証明書を使用している場合、通信が失敗するようになります。該当する送信先がある場合は、通信先サーバーの証明書を正しいものに切り替えることを検討してください。
証明書の検証には、システムのCA証明書ストア(見つからない場合は同梱のCA bundle)を使用します。正しい証明書を使っているにもかかわらず通信が失敗する場合は、サーバー側のCA証明書ストアの状態も確認してください。
検証を無効化する設定
a-blog cms 設置ディレクトリ直下の環境設定ファイル(.env)に HTTP_SSL_VERIFY=false を設定することで、TLS証明書の検証を無効化できます。
HTTP_SSL_VERIFY=falseデフォルト値は true(検証有効)です。この設定は本番・開発環境を区別せず、値のみで判定されます。つまり HTTP_SSL_VERIFY=false は本番環境でも検証を無効化します。一時的な確認用途を想定した設定なので、本番環境で恒久的に無効化したままにすることは避け、通信先サーバーの証明書を正しいものに修正することをおすすめします。
対象外の機能
JSON2TPLモジュール(外部JSONの取得)は、この設定を共有していません。取得先URLへの通信では常にTLS証明書が検証され、HTTP_SSL_VERIFY=false を設定しても無効化できません。
JSON2TPLモジュールの取得先URLに関する制限については、Json_2Tpl モジュールを使って専用モジュールを作ってみようをあわせて参照してください。