ASP.NET Core のプロキシ設定: launchSettings.json と本番環境
開発用起動プロファイルのプロキシ値を、展開された ASP.NET Core プロセスが使う環境と HTTP ハンドラーから区別します。
launchSettings.json のプロキシ値は開発用起動プロファイルに属します。アプリケーションを発行しても、そのプロファイルが IIS ワーカープロセス、サービス、コンテナーの環境になるわけではありません。
展開環境での障害では、実際にアプリケーションを起動しているプロセスを調べます。その環境、アカウント、HTTP ハンドラーが、どのプロキシ入力が利用できるかを決めます。
| 機能する場所 | 展開後に比較するもの |
|---|---|
| IDE の起動プロファイル | ホストプロセスの環境 |
| 対話型ユーザーセッション | サービスアカウントとそのプロキシ設定 |
| 手動で作成した HTTP クライアント | アプリケーションが注入したクライアントが使うハンドラー |
最新の HttpClient の既定のプロキシ初期化には、プラットフォーム固有の環境規則とシステム構成規則があります。明示的に構成されたハンドラーはこれらの既定値を上書きできます。IHttpClientFactory では、名前付きクライアントのプライマリ ハンドラーの登録と呼び出し箇所で取得した名前を確認してください。構成ファイルが無視されたと結論づける前に、両方の入力を確認してください。
.NET Framework の古い system.net/defaultProxy の例は別の構成モデルを説明しています。そのセクションを最新の展開ファイルに貼り付け、すべての .NET HTTP 実装がそれを消費すると仮定しないでください。IIS 展開では、ASP.NET Core モジュールにもサポートされたプロセス環境構成の仕組みがあります。値を追加するときは、ホスティング構成の残りの部分を保持してください。
資格情報を含む完全な値を公開せずに、想定した変数が存在するかどうかを記録します。次に、失敗した要求を実行するクライアントがそのソースを使っていることを確認します。正しく構成された起動ツールは、意図的に別の経路を使うクライアントを修復できません。