concreteCMS(コンクリ)でレンサバのWAFが原因で一部機能がつかえなくなった話

concreteCMS(コンクリ)でレンサバのWAFが原因で一部機能がつかえなくなった話

concrete5

久々のコンクリネタです。先日、管理画面からブロック追加などの特定の機能が動かなくなったconcrete5に遭遇しました。サーバーはさくらのレンタルサーバー。おそらく私のように苦悶して、原因を探っている人への救いになればと思いこの記事を書くことにしました。
この記事を書いた人

かみーゆ/フロントエンドエンジニア

資金ゼロからフィリピンで起業した海外ノマドエンジニア。IT業界10年以上でテクニカルディレクター(技術責任者)・エンジニア講師・ブリッジSEを経てLenzTechnologies Inc.を設立し、代表を務める。CMS concreteCMSエバンジェリスト。テックブログ以外も「磨耗しない人生」や「海外ノマド」のライフスタイルについて発信。好きなものは肉とハイボール。

concreteCMS

https://www.concretecms.com/

ご存知かもしれませんが、concrete5 は名称が変わり concreteCMS になりました。

今はほとんどのCMSで見かけるようになったブロック型CMSの先駆けです。

かみーゆ
かみーゆ

フォーラムのみなさんも優しくて、質問したらすぐ答えがかえってきたり私をエンジニアとしてそだててくれたのもこのCMSのおかげ!!

最新はバージョン9らしいのでまた記事にまとめようと思います。

管理画面に入ると特定のファイルが403エラー

管理画面に入ると、更新やブロック追加ができなくなっていました。

Chromeの開発者ツールで確認するとコアにある一部のJSが403エラー(net::ERR_ABORTED 403・アクセス拒否)に。

Get [ドメイン]/ccm/assets/localization/core/js net::ERR_ABORTED 403

/concrete/以下にあるファイルにはなぜかちゃんとアクセスできている。

これが原因で管理画面のJSの一部が使えなくなっていたことが発覚。

かみーゆ
かみーゆ

コンクリの管理画面はJSで動いてますからね。たまにテーマの作り方が悪くても管理画面側とテーマ側のJSがコンフリクトして動かなくなることもありますしね。

なのにプリティURLの設定を外すともとに戻るという不可思議な現象が起こっていました。

ズバリ、原因はWAFだった

403なのでリライト系の設定ミスでおかしくなっていると当たりをつけましたが、結局はWAF(サーバー側のファイヤーウォール)が原因でした。

だいたいこの手の問題が起こるときは.htaccessあたりかと思い、ローカルに同じ環境を再現したのに無事に動く。

さらに同じサーバーでドメインが違う場所に複製したテスト環境も同様に。


ふと思い出しました。


さくらのレンタルサーバーは私も昔使っていて、諸々クセがあったことを。

サーバーパネル内でドメインごとの設定を徹底的に比較し、やっと見つけました。

かみーゆ
かみーゆ

犯人はWAF、お前だったのか!

最近はWordPress案件が多く、さくらサーバーからも遠のいていたので原因を突き止めるのに約1日かかりました。。。。

かみーゆ
かみーゆ

WordPressもブロックエディタになったしね。

WAFを止めたら問題なく動くように。

まとめ。部分的に403エラーが出たらWAFも疑え

こういうWAFが悪さするエラーは他のレンタルサーバーでも結構あるみたいです(hetemlとか)。

他にも、.htaccessなどの記述ミスで起こることもあるので複合的に検証しないといけませんが、もし同じような現象があったら可能性の一つとして疑ってみてください。

良い勉強になりました。

今回はコンクリ用のDocker環境を作ったりもしたので、収穫も多かったです。

また、それに関しても記事にしようと思います!

かみーゆ
かみーゆ

concreteCMS の情報は少ないのでもっと発信していかなければ!

この記事が、みなさんのコンクリライフの一助になると幸いです。

最後までお読みいただきありがとうございました。