別のサブドメインを持つ可能性のある別のサービスにリダイレクトする必要がある APIController があります。簡略化されたコード:
[HttpGet]
public HttpResponseMessage DoSomething() {
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Moved);
string hostname = GetHostname();
response.Headers.Location = new Uri("https://" + hostname + "/new_path" + Request.RequestUri.Query);
return response;
}
リダイレクトは、それが実行されるステージング環境に応じて、別のサブドメインまたは同じサブドメインだが別のポートに移動する必要があります。ローカルで実行すると、IP に移動することもあります。GetHostname は常に正しいホスト名を返します。ローカルで実行すると、すべてが期待どおりに機能します。ただし、Azure で実行するとすぐに、到達できない IP アドレスにリダイレクトされます (例: http://100.1.2.3/new_path
)。これを防ぎ、元の変更されていない URL を取得する方法はありますか?