MixhostでMovable Typeのテンプレート更新時に403エラーが出るときはWAFが原因かも
目次
テンプレートの更新をすると403エラー
レンタルサーバーを Mixhost に移転してから Movable Type のテンプレートを更新しようと [更新]ボタン を押すと 403エラー になりました。権限に関するエラーだと思いますが、管理画面にログオンできますし、新規投稿や記事の更新もできるのに権限がないとか考えられませんが、なぜかテンプレート更新で 403エラー になります。
以前のレンタルサーバーではこのようなエラー出ませんでした。Mixhost が悪いと言いたいわけではなく、いい意味でセキュリティが高いのかなと思います。
WAFを無効にしたら更新できた
Mixhost には ModSecurity という WAF がデフォルトで有効になっています。 WAF は Web Application Firewall の略でサイトを守るセキュリティ機能なのですが、この WAF を無効にしたら解決できるという記事をいくつか見つけたので、試しに無効にしてみました。ドメイン毎に無効にすることができるのですが、試しに全部無効にしてみました。
WAFを無効(オフ)にする方法
まず、Mixhostの管理画面 [cPanel]-[セキュリティ]-[ModSecurity]を開きます。
[無効]ボタンを押します。
特定のドメインのみ [無効(オフ)] にしたい場合は指定するドメインの [ステータス]スイッチ をクリックして [無効(オフ)] にします。
[すべて無効にする]をクリックします。
すると、各ドメインのステータスが全部 [オフ] になり完了です。
この状態で Movable Type のテンプレートの更新ボタンを押したら正常に更新できました。
解決できたけど、これでいいの?
とりあえずテンプレートの更新はできるようになりましたが、更新の度にWAFを [無効(オフ)] にしたり、常時 [無効(オフ)] にしないとけないので解決とはいけない感じですね。CloudFlare をかましているのがいけないのかな?常時 [有効(オン)] の状態で更新ができるような方法がベストなのですが、その方法はまた今度探してみたいと思います。
WordPressで403エラーが出た場合も
この症状は WordPress でも出る場合があるようです。WordPress で 403エラー が出る場合も WAF を 無効(オフ) にしてみてください。
参考