かみーゆ/フロントエンドエンジニア
ご存知かもしれませんが、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とか)。
良い勉強になりました。
今回はコンクリ用のDocker環境を作ったりもしたので、収穫も多かったです。
また、それに関しても記事にしようと思います!
concreteCMS の情報は少ないのでもっと発信していかなければ!
この記事が、みなさんのコンクリライフの一助になると幸いです。
最後までお読みいただきありがとうございました。