はじめに
「AWSにWordPressを構築してみた」
「AWSに構築したWordPressに独自ドメインを割り当ててみた」
の続き。
WordPressを構築して独自ドメインを割り当ててSSL対応したところまで終わった。
が、WordPress側がhttpsに対応してないのでデザイン崩れが発生しているのと
httpでのアクセスがまだできる状態なのでその2つを対応していく。
https対応設定
httpsのページからhttpのコンテンツを参照しようとするとセキュリティレベルの問題でブラウザが読み込みを止めるのでこういう現象が起こる。
<link rel='stylesheet' id='dashicons-css' href='http://olafblog.org/wp-includes/css/dashicons.min.css?ver=4.7.2' type='text/css' media='all' />
こういうの。ってことでコンテンツの読み込みもhttpsでするようにしていく。
WordPress側での設定
ちょっと調べたらWordPressのプラグインで一発で対応できそうなのでそのプラグインを試してみる。
で管理ツールにログイン。[プラグイン]>[新規追加]で画面を開いて
「Really Simple SSL」
を検索してインストールして、有効化!
はい、完成。
でログイン。・・・あれ崩れたまま?
管理画面に入って原因ch・・・リダイレクトループ?
ぐぐるとどうやらサーバー側での設定が必要みたい。
サーバー側での設定
サーバー側にログインして設定を追加していく。
$ cd /var/www/html
# 管理画面から設定が変えれるように権限変更しておく
$ chmod 660 wp-config.php
# 下記設定を
# require_once(ABSPATH . 'wp-settings.php');
# の上部に追加
$ vi wp-config.php
_/_/_/_/_/_/_/_/_/_/_/_/_/_/
$_SERVER['HTTPS']='on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
_/_/_/_/_/_/_/_/_/_/_/_/_/_/
再度アクセス。・・・うん。管理画面に入れるようになった。
再度、WordPress側ので設定
[設定]の「WordPressアドレス(URL)」と「サイトアドレス(URL)」をhttpsに変更。
あとなんか上の方にボタンが出てたのでSSL有効ボタンをポチる。
お、できた。余裕ですねぇ。
http->httpsリダイレクト設定
最後にhttpアクセスをhttpsリダイレクトするように設定していく。
# server_nameを正規ルートのみ許可するように不要な記述を削除
# httpアクセスに対して301リダイレクトするよう設定を追加
$ sudo vi /etc/nginx/conf.d/wordpres.conf
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
server {
listen 80;
server_name olafblog.org;
location / {
if ($http_x_forwarded_proto = 'http'){
return 301 https://$host$request_uri;
}
root /var/www/html;
index index.php index.html;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 再起動だとうまく設定が反映されなかったので再起動
$ sudo nginx -s stop
$ sudo nginx
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
オッケー。設定完了したのでhttpでアクセス。
httpsにリダイレクトされることを確認。
簡単ですねぇ。お疲れ様でした。
次回「WordPressにGoogleAnalyticsを導入してみた」