この現象に関する回答やドキュメントが見つからないため、これは好奇心のためですが、シナリオは次のとおりです。
2 つのサービス/アプリケーションがあり、どちらも IIS 7 でホストされています。サービス 1 は外部ソース (ブラウザー、フィドラーなど) から HTTPS 要求を受信し、要求を検証するためにサービス 2 を呼び出す必要があるため、サービス 1 は独自のものを作成します。サービス 2 への HTTP を介した新しい別の呼び出し。この呼び出しには、要求オブジェクトに追加された Authorization ヘッダーがあります。 サービス 2 がこの呼び出しを受信すると、認証ヘッダーは削除されたかのようになくなります。したがって、認証は失敗し、これはサービス 1 に戻り、外部呼び出しを拒否します。
このヘッダーと、テストで見た他のヘッダーが HTTP 呼び出しでうまくいかない理由を説明している人はいますか? これは IIS や ASP.NET などの動作ですか? サービス 2 への呼び出しが HTTPS の場合、ヘッダーは問題なく通過します。私は次のようにリクエストを生成しています:
string uriendpoint = "http://service.test.com/testService.svc/authtest";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uriendpoint);
request.Credentials = CredentialCache.DefaultCredentials;
var authField = MD5Hash("test:test!!2013");
request.Headers.Add(HttpRequestHeader.Authorization, authField.ToString());
request.Method = WebRequestMethods.Http.Get;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();