ロリポップが新サーバーへの移設をするにあたって、事前移設が行えるということで先に新サーバーへの事前移設を済ませることにした。
新サーバーへの移設自体は、ロリポップの管理画面でボタンをポチッと押せばいいものでとても単純だった。
ロリポップにログインをすると事前移設を行っていない人は、お知らせが出るので最下にあるボタンを押せば事前移設をすることができる。(契約プランによって事前移設ができる期間は異なる)事前移設自体はものの5分で完了メールが届き、ほっとしていた。
しかし、その後Wordpressのログインページが表示されなくなったり、Wordpressのプラグインが動作しなくなるなど不具合が発生したのだ。
ロリポップの新サーバー事前移設に伴った不具合の内容と解決方法に関する記事。
まず、サーバー事前移設処理後に起こった不具合について。
ロリポップ新サーバー移設に伴う3つの不具合
ロリポップ新サーバー移設に伴い、筆者がWordpressで運営しているサイトには大きな3つの不具合が生じた。
- 障害1:Wordpressのログイン画面が表示できない
- 障害2:Wordpressのカスタマイズボタンが使えない
- 障害3:Wordpressのプラグイン『WordPress Related Posts』のリンクが機能しない
障害1は、特定のサイトに発生し、障害2と障害3は全てのWordpressサイトに不具合として発生した。
この3つの障害について詳しく説明するとともに、その解決方法を書き留めておこうと思う。
【不具合1】
WordPress管理画面にログインできない
詳しい不具合の内容
WordPressのログイン画面を全てブックマークにしているのだが、そのブックマークをクリックしてもロリポップからサーバーエラーが返されるようになった。
エラー表示はいつもの『403 ERROR FORBIDDEN 指定されたページへのアクセスは禁止されています』というエラーメッセージがロリポップサーバーから返されるようになった。
不具合の解決方法
WordPressログインのために常にブックマークを利用していると『ブックマークが使えない!?』と焦るもの。
解決方法はシンプルで『サイトURL/wp-login』とURLを入力して、ログインページにアクセスすれば通常通りログインページが表示された。
不具合の原因
WordPressのログインページのブックマークが使用できなくなった原因は、キャッシュにあるらしい。
新サーバーへの移設を行ったこととパソコン側のキャッシュとがどう関係するのがわからなかったが、ログインはできるようになりブックマークを全て新しくして解決。
【不具合1】
WordPressのカスタマイズボタンが使えない
詳しい不具合の内容
WordPressにログイン時に左上に表示される『カスタマイズ』ボタンをクリックすると、『403 ERROR FORBIDDEN 指定されたページへのアクセスは禁止されています』というエラーメッセージがロリポップサーバーから返されるようになった。
『403 ERROR FORBIDDEN 指定されたページへのアクセスは禁止されています』というエラーメッセージがロリポップサーバーから返されるようになった。
不具合の解決方法
ロリポップに問合せたところ、セキュリティのWAF設定が原因の可能性があるとのこと(※WAFとは、Webアプリケーションのやり取りにおいて不正侵入を防御することのできるファイアウォールのこと)。
本来ならブロックしなくても良い管理者のアクセスまでも、ブロックしてしまっているということだ。
WAFによる不具合の解決方法は2つ。
- 解決方法1 WAF設定を無効にする
- 解決方法2 WAF設定から問題となるブロックを除外する
解決方法その1
1つ目の解決方法「WAF設定を無効にする」。
・ロリポップにログイン後、左側の管理メニューから『WEBツール』を選択→『WAF設定』を選択する。
・WAF設定が開くと、ロリポップサーバーで管理しているURLが表示される。WAF設定を無効にしたいサイトのみ『無効にする』ボタンをクリックする。
解決方法その2
2つ目の解決方法「WAF設定から問題となるブロックを除外する」
・不具合が生じているサイトのサーバーフォルダ内にある「.htaccess」というファイルへWAFがブロックしないように追記する。カスタマイズボタンの使用時に管理人がブロックされてしまう不具合は、下記内容を追記することでWAFから除外することができる。
-------------------------------------
SiteGuard_User_ExcludeSig url-php-rfi
-------------------------------------
・ロリポップにログイン後、左側の管理メニューから『WEBツール』を選択→『ロリポップFTP』を選択する。該当サイトのフォルダを開くと、「.htaccess」のファイルがある。
・注意点は、「.htaccess」ファイルの最下に追記をした後に『改行』を必ず入れること。「.htaccess」ファイルは最後に改行が入っていないと正常に動作しないので要注意。
どちらの解決方法がいいのか
解決方法1のWAF設定を無効にする方法はセキュリティ上避けたい。WAF設定を有効にすると再度エラー表示がでてしまうので、ずっとWAF設定を無効にしておく必要があるのだ。
そのため、ファイルへの追記を行う解決方法2がより望ましい。複数サイトを運営していると全てのサイトの「.htaccess」のファイルに追記していくのは少々面倒だった。
不具合の原因
直接的な原因はWAFがカスタマイズにかかる動作をブロックしてしまっていたことにあったのだが、なぜ新サーバーへの事前移設に伴って今まで問題がなかったWAF設定に影響が出たのか納得がいかなかった。
ロリポップに再度問合せてみると以下のような回答が得られた。
・新サーバーへの事前移設を行ったタイミングでWAFのバージョンが新しいバージョンに変更されている事を確認。
・WAFバージョン変更に伴ってWAFの定義が変更された箇所があり、今回のように今まで問題のなかった動作についてWAFの対象となる現象が発生。
ロリポップの新サーバー事前移設に伴ってWAFのバージョン変更があり、その影響がでた模様。
【不具合3】
WordPressのプラグインのリンクが機能しない
詳しい不具合の内容
3つ目の不具合は、Wordpressのプラグイン『WordPress Related Posts』のリンクが機能しなかったこと。
関連記事を自動表示するプラグイン『WordPress Related Posts』。記事は表示されるのだが、関連記事を開こうとクリックをすると『403 ERROR FORBIDDEN 指定されたページへのアクセスは禁止されています』と表示されてしまうようになったのだ。
不具合の解決方法
ロリポップに問合せたところ、2つ目の障害(WordPressのカスタマイズボタンが使えない)と同様にWAF設定が原因の可能性があるとのこと(※WAFとは、Webアプリケーションのやり取りにおいて不正侵入を防御することのできるファイアウォールのこと)。
WAFによる不具合の解決方法も同じく以下の2通り。
- 解決方法1 WAF設定を無効にする
- 解決方法2 WAF設定から問題となるブロックを除外する
解決方法は障害2のWAF設定関連と同じなので具体的にはそちらを参照していただくとして
解決方法2の「.htaccess」ファイルへの追記内容が異なるので下記に記載しておく。
解決方法その2
--------------------------------------------
SiteGuard_User_ExcludeSig bof-try-2
--------------------------------------------
「.htaccess」ファイルの最下に入力し、最後に改行を入れる。
以上が、ロリポップの新サーバー事前移設に伴って発生した不具合・障害内容と解決方法についてです。