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

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

最終更新日: 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 通信
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram