WordPressをSSL化した時の注意点

2017年3月14日HTTP SERVER, WordpressCentOS7, Nginx, SSL, systemconfig, WordpressHTTP SERVER, Wordpress, SSL, systemconfig, Wordpress

先日、WAFを導入して、併せてWordpressを常時SSL化した時にドツボにハマりました。
そんな、わけでメモです。

環境はこんな感じです。

Apache(SSLアクセラレータ・グローバルIP・WAF)
↓
Nginx(TCP80でリッスン・ローカルIP)
↓
php-fpm(ローカルIP)

元々Nginxがフロントに立っていたのですが、WAF導入に絡んで、フロントにApache(リバースプロキシ)サーバを新規に立てて、多段プロキシを組むことになりました。

#Apacheを新規に立てた理由は以下の通り。
※WAFがApacheにしか対応してない。
※今まで動いていたNginxの設定をApacheに乗せ換えるのが面倒だった。

証明書をApache配下に設置、コンフィグに証明書絡みのディレクティブを追記して、ApacheのSSL対応は完了。
そしてプラグイン「Really Simple SSL」をインストール、一般設定にてURLのhttpをhttpsへ変更、これでWordpressの常時SSL化は完了と思い込んでました。

・・・が、FireFoxでトップページにアクセスすると、何故かHTTP 302が帰ってきて延々とトップページにリダイレクトされ、最終的にはリダイレクトループでエラーとなる。

結果的に何が悪かったかと言うと、Nginxの設定に不備がありました。
以下を見て頂ければわかると思いますが、SSL有効化の設定が欠けていました。
フロントのApacheでSSLを受けて、下流のNginxにはHTTPで通信を渡しているため、関係ないと思い込んでいたがためにドツボにハマりました。

    location ~ .php$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass   127.0.0.1:9999;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /usr/local/domain/site/$fastcgi_script_name;
        include fastcgi_params;

        <span style="color: #ff0000;"><em><strong>#SSL対応 リダイレクトループ防止
        fastcgi_param HTTPS on;←←←←←←←←←←←←←←←←←これが欠けてましたw</strong></em></span>

        fastcgi_pass_header "X-Accel-Redirect";
        fastcgi_pass_header "X-Accel-Buffering";
        fastcgi_pass_header "X-Accel-Charset";
        fastcgi_pass_header "X-Accel-Expires";
        fastcgi_pass_header "X-Accel-Limit-Rate";
        client_max_body_size 10M;    # アップロードを10M上限に

        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 300s;
        fastcgi_send_timeout 300s;
        fastcgi_read_timeout 300s;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

ここまで読んで頂きありがとうございます。
現在、ランキング参加中です。良ければランキングボタンをクリック願います。
↓↓↓↓↓↓↓↓

オープンソースランキング

にほんブログ村 IT技術ブログへ
にほんブログ村

にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村