問題
- u70にアップグレードした後、大きなコンテンツを含むウェブコンテンツを公開しようとすると、ログに次のようなエラーが表示されます:
ModSecurity:コード 400 でアクセス拒否
Environment
- Liferay DXP 7.4
解決策
- エラーはNginxに関連しています。 SecRequestBodyLimitはデフォルトで131kbに設定されている。 コンテンツを公開するには、この値を増やす必要がある。
-
この問題を解決するには、Apacheで、
SecRequestBodyNoFilesLimit
を、それが必要な特定の場所だけ、次のように増やせばよい:<Location "/user/profile/avatar-upload.php"> SecRequestBodyNoFilesLimit 200000 </Location>
-
シンプルにロケーションをオーバーライドするには、Nginxコンフィギュレーションに追加します
(server{}
ブロック):location /add/submit.php { modsecurity_rules 'SecRequestBodyLimit 1048576'; modsecurity_rules 'SecRequestBodyNoFilesLimit 1048576'; }
詳しくは、以下のリンクをご覧ください。
なお、このソリューションにはアプリケーションのカスタマイズが必要です。 つまり、デベロッパー・チームは、あなたの裁量でそれを行うべきだということだ。 また、設定を変更する前に、より低い環境でテストし、データベースのバックアップを取る必要がある。 サポートや相談が必要な場合は、当社のGS(グローバルサービス)に連絡することをお勧めします。
追加情報
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン