# IIS
> Regla de URL Rewrite con ARR en el web.config de tu sitio de IIS.
Página original: https://docs.jazui.com/integrations/iis/es
En IIS, una regla de **URL Rewrite** reconoce a los bots y, con **Application Request Routing** (ARR) como proxy, les sirve la página de Jazui. Si tu aplicación es ASP.NET Core, es más sencillo y robusto usar el [paquete de ASP.NET Core](https://docs.jazui.com/llms/es/integrations-aspnetcore.txt).
## Antes de empezar
- Los módulos **URL Rewrite** y **Application Request Routing** instalados (desde la web de IIS de Microsoft).
- Tu sitio **verificado antes de activar la regla**: con ARR, si Jazui responde con error, el bot recibe ese error.
- Tu token.
## Instalación
Abre una consola como administrador y ejecuta estos dos comandos. El primero activa el proxy de ARR; el segundo permite que la regla escriba las cabeceras que necesita Jazui:
`cmd`:
```bash
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/proxy /enabled:"True" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/rewrite/allowedServerVariables /+"[name='HTTP_AUTHORIZATION']" /+"[name='HTTP_X_JAZUI_URL']" /+"[name='HTTP_X_JAZUI_CLIENT_IP']" /+"[name='HTTP_COOKIE']" /commit:apphost
```
Después pon este `web.config` en la carpeta de tu sitio (o copia sus dos reglas en el que ya tengas, la de Jazui antes que la de la SPA):
`web.config` (https://docs.jazui.com/example_config/iis_web.xml):
```xml
Pide tu portada como si fueras un bot, con el agente de usuario de pruebas integration-test:
curl -I -A "integration-test" https://misitio.com/
La respuesta debe llevar x-jazui: true y x-jazui-cache: MISS la primera vez y HIT después. Sin agente de bot (curl -I https://misitio.com/) debe llegar tu web de siempre, sin x-jazui. En el panel, la petición aparece en Tráfico de bots y la página en Páginas en caché.
Pide tu portada como si fueras un bot, con el agente de usuario de pruebas `integration-test`: ``` curl -I -A "integration-test" https://misitio.com/ ``` La respuesta debe llevar `x-jazui: true` y `x-jazui-cache: MISS` la primera vez y `HIT` después. Sin agente de bot (`curl -I https://misitio.com/`) debe llegar tu web de siempre, sin `x-jazui`. En el panel, la petición aparece en **Tráfico de bots** y la página en **Páginas en caché**. ## Si algo no funciona - **Error 500.50 o «variable de servidor no permitida»**: falta el segundo comando (las variables permitidas). - **Error 404 o 502.3 al pedir como bot**: el proxy de ARR no está activado (primer comando) o el servidor no puede salir a Internet por el puerto 443. - **Detrás de Cloudflare**, `{REMOTE_ADDR}` es la IP del CDN: usa `{HTTP_CF_CONNECTING_IP}` (o `{HTTP_X_FORWARDED_FOR}`) en `HTTP_X_JAZUI_CLIENT_IP`. - El tiempo máximo de espera es el del proxy de ARR (en la configuración del servidor, **Application Request Routing Cache › Server Proxy Settings › Time-out**); 20 segundos es un buen valor.