HTTPS化しました

HTTPS化しました

ゴールデンウィークからずっとやってたロリポップからAmazon Web Service(AWS)+「KUSANAGI」への移行とHTTPS化がとりあえず完了しました。
「とりあえず」と書いたのは、まだGoogle Adsenseが記事ページでうまく配置されなかったり、リンクの問題でHTTPS化が不完全だったりするので…。

AWS+KUSANAGIにした理由

最近のHTTPS化(特にYahoo! JAPANが2017年3月までに常時SSL化)の流れもあり、HTTPS化を検討していました。
しかし、契約していたロリポップでHTTPS化をしようとすると別途月に1,500円〜2,000円の費用がかかってしまうこともあり、年単位での契約を月単位の契約に変更し、サーバーの移転を検討していました。
このサイトはそれほどアクセス数が多い訳ではないですが、アクセスアップは目指していきたいし、既にドメインで結構お金はかかっているので、できるだけ費用がかからない方向性で検討した結果、無料枠が使えるAWSとHTTPS化に必要となるSSL証明を無料で発行してくれる「Let’s Encrypt」にも対応した上で無料で使えるKUSANAGIを利用することにしました。

移行、大変だった…

移行に関しては「経験知」というサイトを参考にさせていただきました。移行に関する情報をわかりやすく載せていらっしゃって大変役に立ちました。

しかし、初めてのことでいろいろ引っかかりました…。

1.パーマリンク設定に引っかかる

このサイトはWebページ→Movable Type→WordPressと使用するツールが変わってきています。
2005年4月にWebページからMovable Typeにしたタイミングで拡張子を.phpにしたんですね。
多分、普通のWebページからCMSにしたぞ感を.phpという拡張子で表現したかった(苦笑)んでしょうけど、それが原因でKUSANAGIでインストールしたWordPressでは設定画面のパーマリンク設定で.phpを指定してもサーバー側の404エラーが出てしまいました…。

解決策を探そうと「WordPress パーマリンク設定 404」などで探してみたのですが、「パーマリンクの途中にindex.phpが挿入されてしまう」という違う内容のものが出てきてしまって、なかなか本来の解決法に辿りつけませんでした。
結局は、KUSANAGIはApacheではなくnginx(Apacheにもできますが)で動いていて.htaccessが使えないことがわかり、nginxの設定ファイル(/etc/nginx/conf.d/***_http.confおよび/***_ssl.conf)に
.htaccessでの

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

に相当する

# nginx configuration
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}

を書いて拡張子.phpを有効にする必要がありました。
また、その変換には若干あやしい日本語が怖いですが「Winginx」が役立ちました。

2.BASIC認証したらFileZillaで接続できなくなった

セキュリティを強めようとKUSANAGIのセキュリティ対応のページを参考に管理画面に対してアクセス制限をかけたのですが、BASIC認証をかけたらFTPソフト「FileZilla」での接続ができなくなりました。
コマンドを打ち込めばいいのですが、なにぶん素人なものでファイルの編集やパーミッションの変更は簡単にやりたくて、FileZillaでの接続は必須。
結局、上記のconfファイルのBASIC認証部分(標準だと46行目、47行目)をコメントアウトして対応しました。

3.502エラー頻発

KUSANAGIにはページキャッシュの機能があって高速読み込みができるようになっているのですが、bcache、fcacheともにONにしたところ、しばらくは大丈夫でも時間が経つと502エラーが発生。AWSでインスタンスを再起動しないと直らない状況に陥る事象が頻発しましたが、原因がわからず、bcacheとfcacheはとりあえずOFFにすることにしました(サイトの読み込みが遅いので、原因がわかり次第ONにする予定)。

それ以外にも504エラーが出たりといろいろ大変ですが、学習しながらなんとか移行し、運用していく目処が立ったので、様子を見ながらやっていこうと思っています。

LINEで送る
Pocket