📢 この記事は ChatGPT によって翻訳されました
はじめに
以前 Typecho を Docker コンテナへ移行したとき、HTTPS を有効化すると管理画面にログインできなくなった。
HTTPS を無効化すれば正常にアクセスできる。
Docker 以前の通常構成では問題なかったので、Docker ネットワークのせいかと思ってとりあえず HTTPS を切って編集して、そのまま放置してた。
今回改めて Typecho を使うことになり、再び同じ症状に遭遇。今後の運用のためにも原因を調査して解決策を記録しておく。
解決方法
解決方法はめっちゃシンプル。data/config.inc.php
の末尾に以下のコードを追加するだけ:
|
|
これでコンテナを再起動すれば OK。
原因について
参考記事によると、ユーザーとブラウザ間の通信は HTTPS だけど、Typecho 側 (PHP) が受け取るのは Cloudflare 経由の HTTP リクエスト。 その結果、PHP が HTTP ベースでレスポンスを返してしまい、セッションエラーやログイン不可になるらしい。