前面にロード バランサー (CloudFlare) を備えた 3 台のサーバーを含むクラスターがあります。クラスターに 2 つのサーバー (A と B) があったときはうまくいきましたが、3 番目のサーバー (C) を追加した後、いくつかの奇妙な点に気付きました。
そのうちの 1 つは非常に重要であり、それがどのように発生するのかまったくわかりません。
私たちの Web アプリケーションは、JSON データを取得するためにそれ自体に AJAX リクエストを作成します。リクエストが新しいサーバー (C) にヒットした場合、次のようなレスポンスが返されます。
{
code: 404,
text: "Not Found",
message: "Database context not allowed."
}
私たちのアプリケーションはそのようなエラーをスローしないので、Google で少し検索したところ、OpenNTF XPagesExtensionLibraryで言及されていることに気付きました。
ただし、私たちは XPages をまったく使用していないため、AJAX 要求が何らかの形でそのロジックを含んでいるのはどうしてだろうかと思います。
任意の提案とヒントをいただければ幸いです。
アップデート
エージェントのバックエンド コードは重要ではありません (空のエージェントである可能性もあると確認しました)。これは、要求がエージェントに届かないためです。
AJAX 呼び出しは jQuery によってトリガーされます
let url = "domain.tld/api/key";
let params = {"a": 1};
$.post(url, params, function (data) {
// some code
},
"json"
).always(function() {
// some code
});
問題であると思われる URL は /api/key で始まり、問題だと思います (エンドポイントが /api/ から始まらない他のすべての ajax 呼び出しがうまく機能するため)。
ありがとう。