カスタムヘッダーをほとんど設定せず、リバースプロキシとして機能するラクダルートがあります。Apache Camelはすべてのリクエストヘッダーをレスポンスにコピーします
from("servlet:///listen/path?matchOnUriPrefix=true")
.setHeader(Exchange.HTTP_RESPONSE_CODE, simple("200"))
.setHeader("MY_HEADER", simple("MY_VALUE"))
.to("some endpont");
アプリケーションサーバーへのリクエストは、Webエージェント経由で渡され、Webエージェントはいくつかのヘッダーを要求に設定します。これらのヘッダーには、機密情報が含まれています。しかし、ラクダの経路はすべてのリクエストヘッダをレスポンスヘッダとしてレスポンスヘッダにコピーし、その結果、ウェブエイジェンによって設定された機密情報がブラウザのエンドで利用可能になるように見えます。
Browser Web agent
+--+ Camel Route
| | +----------+ +------------+
| +-------> | Sets some|-------------> | |
| | | headers | | |
| | <-------| to request <-------------+ |
| | | | | |
| | +----------+ +------------+
| |
+--+
Response headers
having web-agent
headers
しかし、私がラクダの迂回をスキップしたとき、応答にはWebエージェントヘッダーがありませんでした。だから私は、ラクダ/サーブレットのコンポーネントがリクエストヘッダをレスポンスにコピーすると考えています。私はループ内の自分のコードからの応答にリクエストヘッダーをコピーしていないことに注意してください。これについていくつか光を当ててください。
UPDATEラクダサーブレット1として
キャメルHTTPコンポーネントと同じメッセージヘッダーを適用します。 Camel は、すべてのrequest.parameterとrequest.headersも入力します。クライアント要求は、URLがある場合 たとえば、 http://myserver/myserver?orderid=123、交換は値123
と受注という名前 ヘッダーが含まれていますこれは、サーブレット・コンポーネントが応答するすべてのリクエストヘッダをコピーするということですか?どうすればそれを無効にするのですか?