Nextcloudの richdocumentsアプリ(Collabora Online)でOffice系文書を 使っていたのだが、自宅Nextcloudサーバから突然編集できなくなった。
Collabola Onlineアプリのアップデート失敗かとか色々探って データベースの関連テーブルをリセットしたりしたがだめ。 ブラウザでコンソールログを見るとこんなのがあった。
Content Security Policy: ページの設定により次のリソースの読み込みをブロックしました: https://ここにLOOLサーバ/loleaflet/3a048ea/loleaflet.html?WOPISrc=https%3A%2F%2F...いろいろあって...(“form-action”)
Nextcloudサーバを複数持っているが、他のサーバでも同じLOOLサーバを使っているのにエラーは出ない。なんでここだけ?
ま、いいや、ヘッダを設定すればいいのかな。
ということで、ここを参考にした。
Nextcloudのdataディレクトリにある .htaccess にHTTPヘッダを設定する ブロックがあるがそこに以下のような感じのを追加。
Header onsuccess unset Content-Security-Policy Header always set Content-Security-Policy "form-action https://LOOLサーバ"
https://content-security-policy.com/ のへんに URLパターンを ' ' で括る例があるけど、それだとうまく行かなかった。 スキーマに対するワイルドカードも効かなかったがこれはどっかの設定なのか。