Usando Fiddler con IIS7 Express
iis-express (4)
Estoy usando IIS7 Express mientras desarrollo mi aplicación web. Necesito usar el violín para investigar un problema y no puedo entender cómo configurar las cosas para poder obtener la transmisión HTTP. Parece que IIS7 express solo escuchará en localhost lo que significa que no puedo acceder a la transmisión.
Con la última versión de fiddler, solo necesita navegar a localhost.fiddler: port. Sin embargo, hacerlo solo no me ayudó y todavía recibí acceso denegado al usar la Autenticación de Windows. Para solucionar esto, encontré esta entrada en el blog: http://www.parago.de/2013/01/fiddler-and-the-401-unauthorized-error-with-asp-net-web-api-using-integrated-windows-authentication-wia/
En resumen, crea esta clave:
Ruta clave HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / Lsa / MSV1_0
Nombre del valor BackConnectionHostNames
Tipo de valor REG_MULTI_SZ
String Value localhost.fiddler
Esto no tiene nada que ver con IIS7 Express y todo tiene que ver con el hecho de que está utilizando el tráfico de bucle invertido.
Ref: https://www.fiddlerbook.com/fiddler/help/hookup.asp#Q-LocalTraffic
Haga clic en Reglas> Personalizar reglas.
Actualice su archivo de Reglas así:
static function OnBeforeRequest(oSession:Fiddler.Session)
{
if (oSession.HostnameIs("MYAPP")) { oSession.host = "localhost:portnumber"; }
}
Luego, simplemente visite http://myapp
en su navegador.
O use la dirección http://localhost.fiddler/
y Fiddler usará el nombre de host localhost
lugar de convertirlo a una dirección IP.
Puede usar el violinista como un proxy entre sus clientes y el servidor. Esto significa que inicias el fiddler y luego accedes al servidor usando el puerto del violinista en lugar del puerto habitual (el valor predeterminado para fiddler2 es 8888, creo). Si necesita depurar los clientes del servidor "en vivo" frente al mundo real, puede cambiar el enlace de IIS de: 80 a otra cosa, y colocar el proxy de violín en el puerto 80.
EDITAR: por cierto, de forma predeterminada, fiddler2 cambia la configuración de proxy en tus navegadores para que accedan a todo a través de fiddler de todos modos (en la máquina en la que solo está instalado el violín)
Una variación útil de la respuesta de Eric (que fue editada por Brett) sería usar oSession.port
para construir el oSession.host
. Con este pequeño cambio, si uno necesita capturar el tráfico expreso de IIS en http://localhost:12345
, podrían usar http://iisexpress:12345
. Eso hará que sea más fácil capturar tráfico para sitios con puertos aleatorios creados por WebMatrix y VS. Lo probé con IE y Firefox y capturar el tráfico de IIS Express fue muy fácil. Fiddler rocks !.
static function OnBeforeRequest(oSession:Fiddler.Session)
{
//...
// workaround the iisexpress limitation
// URL http://iisexpress:port can be used for capturing IIS Express traffic
if (oSession.HostnameIs("iisexpress")) { oSession.host = "localhost:"+oSession.port; }
//...
}