Tenemos el resultado a esta dificultad, al menos eso deseamos. Si presentas inquietudes dínoslo y con placer te ayudaremos
Solución:
Puede usar el módulo de reescritura de URL de IIS para lograr esto.
Agregue una nueva regla de entrada con condiciones que verifiquen si la dirección IP no coincide con HTTP_X_Forwarded_For. A continuación, puede configurar la regla para redirigir, reescribir o anular la solicitud.
Puede crear una nueva condición para cada dirección IP que desee incluir en la lista blanca.
Uso del módulo de reescritura de URL de IIS para normalizar REMOTE_ADDR
e implementar Restricciones de IP.
Con la siguiente receta REMOTE_ADDR
se establecerá en el real Client-IP independientemente de si hay un proxy inverso confiable al frente para configurar HTTP_X_FORWARDED_FOR
. Eso significa que puede eliminar el proxy inverso frente a IIS y estas Restricciones de IP seguirán funcionando como se esperaba.
Normalizar REMOTE_ADDR
en applicationHost.config
Configure esto en el IIS global applicationHost.config
:
La receta anterior copia la última dirección IP que encuentra en HTTP_X_FORWARDED_FOR
hacia REMOTE_ADDR
y REMOTE_HOST
sólo si el valor original en REMOTE_ADDR
coincide con la dirección IP de un proxy inverso de confianza.
Para que esta receta funcione, la primera condición debe establecerse para que coincida con la(s) dirección(es) IP de su proxy inverso:
En el ejemplo anterior, la IP del cliente en HTTP_X_FORWARDED_FOR
es de confianza solo si lo establece un proxy inverso en una de estas direcciones IP:
10.1.1.1 or 10.1.1.2 or 10.1.1.3
Que se encarga de poner REMOTE_ADDR
hacia real Cliente-IP.
Restricciones de IP en web.config
Las restricciones de IP se pueden establecer con el módulo de reescritura de URL de IIS en el sitio web.config
usando esta receta:
Editar el pattern=
para hacer coincidir solo las direcciones IP o los bloques que necesita dejar entrar.
Cambiar el
a lo que sea necesario.
Porque el web.config
receta sobre filtros en el estándar REMOTE_ADDR
variable, funciona con y sin HTTP_X_FORWARDED_FOR
. la receta en applicationHost.config
asegura que REMOTE_ADDR
siempre se establece en el real Client-IP para cualquier cosa que pueda hacer referencia más adelante REMOTE_ADDR
.
Recuerda que tienes la capacidad de agregar una reseña si te ayudó.