私たちは JBoss WildFly 上で AngularJS アプリケーションを実行しています。以前はテスト環境と本番環境の両方で正常に動作していました。しかし、本番環境では奇妙なエラー 403 の問題が発生しています。
ユーザーは REST リクエストによってデータを読み込むことができます。あるサイトでは、フィルター オプションを保存するために Cookie が設定されています。Cookie が設定されると、それ以降のすべてのリクエストは失敗し、エラー 403 (禁止) が表示されます。
ローカルおよびリモート テスト サーバーでは、この問題は発生しません。本番環境でも以前は機能していましたが、何かが変更されたに違いありません。この問題はすべてのブラウザーおよびすべてのユーザーで発生するため、IT 部門がサーバー構成を変更したに違いないと考えています。ただし、問題の根本的な原因はわかりません。
サーバーは次のヘッダーで応答します。
Server: Apache
X-Powered-By: Undertow/1
しかし、JBoss WildFly を実行していることはわかっています。JBoss ログにもブラウザの開発者コンソールにも役立つエントリはありません。私はサーバー インフラストラクチャを管理していませんが、この問題を早急に解決する必要があります。
私の質問は次のとおりです:
JBoss は Web サーバーへのリクエストをどこに記録しますか? 追加のアクセス ログ ファイルはありますか (
/var/log/apache2/error.log
存在しません)?ヘッダーでサーバーが Apache であると主張されているのはなぜですか?
standalone.xml
JBoss のファイルは「WildFly/9」を設定します。間にリクエストを処理する別のサーバーがありますか? どうすればわかりますか?JBoss または Apache はこのようなエラーの原因をログに記録しますか? ログ レベルを上げる必要がありますか?
クッキーを削除すると、サイトは正常に戻ります。以前は正常に動作していたので、これは単なる小さな設定の問題だと確信していますが、現時点では原因がわかりません。ヒントがあれば、ぜひ教えてください。
答え1
standalone.xml
サブシステムにこのブロックを追加しますurn:jboss:domain:logging:3.0
:
<logger category="org.jboss.security">
<level name="TRACE"/>
</logger>
サーバーを再起動して、新しい構成を適用します。
ここで、エラー 403 を引き起こす操作を実行します。より詳細な情報がファイルに記録されますserver.log
。これにより、少なくとも問題の根本原因の詳細を取得することができました。Active Directory からの役割のマッピングが失敗したようです。ただし、さらに調査する必要があります。
しかし、少なくとも上記のようにログ レベルを上げると、デバッグに役立ちました。