Nextcloudでファイルが何も表示されないときの対処法【WAFだった】
強力なself-hosted型ファイル共有ソフトであるNextcloudを愛用しています。先日ロリポップ!レンタルサーバーを契約したので、そこにも設置してみたのですが、問題が発生しました。
なんとNextcloudを開いてもファイルが何も表示されない!!でも、iPhoneアプリからは表示される!!
これの原因と解決方法をご紹介します。
原因はWAF(Web Application Firewall)だった
結論から言うと、原因はWAFでした。ロリポップ!のWAFを該当ドメインに対して無効化したところ、しばらくしてちゃんとファイルが表示されるようになりました。
気づいた理由
Webブラウザーの開発者ツールを見ていたら、PROFINDメソッドのリクエストに対して403エラーが返っていました。Nextcloudのログには何もエラーはありません。
ここで思いついたのが、PROFINDなんて普通のWebアプリじゃ必要のないメソッドだから弾いているのではないか、ということ。たんに思いついただけです。
ちなみに、PROFINDはWebDAVで必要なメソッドで、たしかに通常のWebアプリでは使われなさそうでした。
なぜiPhoneアプリからはファイルが表示されたのか?
これは推測ですが、
- モバイルデバイスからのPROFINDは、WAFが安全とみなしている
- Nextcloudアプリは、PROFINDを使わない
のいずれかだと思います。WAFを無効化する前に、iPhoneのSafariからNextcloudにアクセスしてみれば分かったかもしれませんね。。。