reverse proxy でSSL

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

reverse proxy サーバーで通常のSSL化手順が使用できないので、wp-config に以下を記入。

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])
    && $_SERVER['HTTP_X_FORWARDED_PROTO'] === "https") {
  $_SERVER['HTTPS'] = 'on';
}
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

htaccess でリダイレクトも不可なので、ヘッダーに

if (empty($_SERVER['HTTPS'])) {
    header("Location: https://www.xxxx.jp{$_SERVER['REQUEST_URI']}");
    exit;