ASP.NETアプリ(.NET Framework版)から、Proxy経由して外部サイトにアクセスするときの設定でハマったので備忘録を残します
背景
ASP.NET(.NET Framework版)のWebアプリケーションやAPIから外部リソースにアクセスしたい時があります
その時にProxy経由でアクセスしたい場合の設定について記載します
設定方法
結論から言うと web.config等に設定を以下のように入れます
<configuration>
<system.net>
<defaultProxy>
<proxy
usesystemdefault="False"
proxyaddress="http://<Proxyサーバのアドレス>:<Proxyサーバのポート>"
bypassonlocal="True"
/>
</defaultProxy>
</system.net>
</configuration>
該当アプリケーションのweb.configに設定するのは勿論、上位のweb.configやmachine.configに設定するのもアリだと思います
ハマった点
当初はOSのProxy設定を使うと思ったので、netsh コマンドを使うものと思っていましたが違ったようです
netsh winhttp set proxy 〜
公式ドキュメントだと、web.configにProxy設定が無いときはシステム設定を使う、とあるように読めますが、そのように動作しませんでした
要素 (ネットワーク設定) - .NET Framework
ネットワーク設定要素によって、.NET Framework のプロキシ サーバー オプションが定義されます。 この記事には例が含まれています。
コメント