状況によっては、トラブルシューティングのためにwebデバッグ プロキシを使用してWebサイトのHTTPトラフィックをキャプチャし調査しなければならない場合があります。
このようなプロキシの好例がFiddlerです。
Fiddlerは現在ログインしているWindowsユーザーのプロキシ サーバー設定を変更して、Webブラウザーや他のアプリケーションからのトラフィックをキャプチャできるようにします。具体的には、システムのプロキシ設定が127.0.0.1:8888のアドレスに変更されます。
しかし、ASP.NETサイトなどのアプリケーションは、異なるユーザー アカウントと独自のプロキシ設定を使用するため、この変更には影響されません。
この記事では、ASP.NET Webサイトとアプリケーションが使用しているWebサービス間での、Webサービスの呼び出しをキャプチャできるようにするために、ASP.NET Webサイトがプロキシを使用するように構成する方法について説明します。
ASP.NETアプリケーションがwebサービスの呼び出しをウェブ デバッグ プロキシを通じて送信するように構成するには、以下の手順に従ってください。
<%@ Import Namespace="System.Net" %>
<%@ Import Namespace="System.Net.Security" %>
<script>
public void Application_Start()
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });
}
</script>
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="false" proxyaddress="http://127.0.0.1:8888" bypassonlocal="false" autoDetect="false"/>
</defaultProxy>
</system.net>
各属性の詳細な説明につきましては、Microsoft社のドキュメントをご参照ください。
https://learn.microsoft.com/ja-jp/dotnet/framework/configure-apps/file-schema/network/proxy-element-network-settings
https://learn.microsoft.com/ja-jp/dotnet/framework/configure-apps/file-schema/network/defaultproxy-element-network-settings
webデバッグ プロキシがHTTPSトラフィックをキャプチャできることを確認します。例えば、Fiddler Classicで機能を有効化する方法については、以下のページをご参照ください。
https://docs.telerik.com/fiddler/configure-fiddler/tasks/decrypthttps
トラフィックがキャプチャされたら、更なる調査や分析のためにキャプチャを保存します。例えば、Fiddler Classicでセッション アーカイブZip(.SAZ)ファイルとして保存する方法については、以下のページをご参照ください。
https://docs.telerik.com/fiddler/save-and-load-traffic/tasks/createsaz
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
<sitecore role:require="Standalone or ContentManagement">
<settings>
<setting name="PublishingService.ProxyAddress" set:value="http://localhost:8888" />
<setting name="PublishingService.ProxyEnabled" set:value="false" />
</settings>
</sitecore>
</configuration>
上記の手順はトラブルシューティングの目的のためだけに実施し、リクエストのキャプチャが必要なくなった段階で、必ず変更を差し戻してください。