Ownedmedia ウェブ制作に役立つコンテンツを発信中!

WordPress 2018.05.11

リバースプロキシ使用時のWordPress管理画面で起きる権限エラー対処法

Tags: ,,
最終更新日:Update

ちょうど先日、当サイトもNginxでのリバースプロキシを使った運用に変更したのですが(詳しくは過去記事「Nginxをリバースプロキシサーバーに使ってApacheといっしょに運用する」にまとめています)WordPressを使ったサイトだったので、実装を進めていくと管理画面のログインページにアクセスした時に「このページにアクセスする権限がありません」というエラーが表示される現象がありました。

 

公式のCodexにも記載されているのですが、どうやら強制的にSSL通信をさせる設定を行う必要があるようで、結論から言うと下記のコードをwp-config.phpに記述する必要がありました。

【wp-config.php】

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

 

1行目の関数で管理画面のSSL通信を強制にするのですが、リバースプロキシを使っている場合リダイレクトループになるので、HTTP_X_FORWARDED_PROTO ヘッダーを認識させる形になるとのことです(公式のCodexより引用)これで無事に管理画面にもログインができるようになりました。

 

また、上記コードはwp-config.php内の最初に記述するようにします。(記述場所によってはエラーとなるため)使う条件は限られますが、知らないとほぼわからない部分ですよね、、こういった情報があるのはありがたいですね。

 

(参考)
WordPress Codex:管理画面での SSL 通信

この記事を書いた人

オガワ シンヤ

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

  • Twitter

コメントフォーム

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。

内容に問題なければ、お名前・ハンドルネームとメールアドレスを入力いただき、下記の「コメントを送信」ボタンを押してください。

CAPTCHA


この記事もよく読まれています

Scroll to Top
ご質問・ご相談はありませんか ?