Dockerベースのクラウドでwordpressを実行しようとしています。設定は次のとおりです。
Mysqlアレイを実行しているサーバーがあり、Wordpress Nginxで実行されています。セットアップは this dockerfile からコピーされます。このセットアップの目的は次のとおりです。高スループットを実現し、クラウドセットアップと互換性があります。
wordpressコンテナには、mysqlアレイおよびNginxリバースプロキシと同じサブネット内のローカルIP、およびhttp(httpsではない)を実行するためのパブリックポートがあります。
wordpressコンテナーに対してSSLを実行するようにリバースプロキシが構成されています。ナビゲーションはhttpとhttpsの両方で機能しますが、HTTPSでダッシュボードにログインしようとすると、次のエラーが発生します。
このページにアクセスするための十分な権限がありません。
私が見つけた唯一の意味のあるエラーは、ダッシュボードのHTTPにログインしたときに発生します。
[04-Nov-2014 23:16:13 UTC] PHP注意:未定義のインデックス:86行目の/usr/share/nginx/www/wp-config.phpのHTTP_X_FORWARDED_PROTO
ただし、ダッシュボードはhttpで正しく機能します。
Wordpress構成ファイルに次の行を追加する必要がありました:
/ * SSLプロキシ* /
if($ _SERVER ['HTTP_X_FORWARDED_PROTO'] == 'https')$ _SERVER ['HTTPS'] = 'on';
そしてこれが原因だと思います。このヒントは 公式wordpressドキュメント =、それがないと、HTTPSはログに記録されているかどうかに関係なくCSSをロードしません。構成に合わせてこの行を変更する必要があると思いますか?
これ、またはnginxリバースプロキシ 構成ファイル のどちらか、私にはわかりません。
wordpress + nginxコンテナのnginx設定ファイルは非常に標準的であり、それは here からコピーされます。
私を助けてください:D
私はいくつかの問題を抱えていました、私はこのように解決しました:
私のwp-config.phpでは、
私はこれらの行を追加しました:
if(strpos($ _ SERVER ['HTTP_X_FORWARDED_PROTO']、 'https')!== false)$ _SERVER ['HTTPS'] = 'on';
コードのすべての前。
それが役に立てば幸い!