Proxy inverso
Se recomienda colocar tanto el sitio FoxIDs como el sitio FoxIDs Control detrás de un proxy inverso.
Proxies inversos
FoxIDs generalmente admite todos los proxies inversos; se han probado los siguientes.
Azure Front Door
Azure Front Door puede configurarse como proxy inverso. Azure Front Door reescribe los dominios por defecto.
NO habilites el caché. El encabezado
Accept-Languageno se reenvía si el caché está habilitado. El encabezado es requerido por FoxIDs para admitir culturas.
Agrega un endpoint de Azure Front Door para el sitio FoxIDs y el sitio FoxIDs Control. Restringe el acceso requiriendo el encabezado HTTP X-FoxIDs-Secret.
Deshabilita la afinidad de sesión y configura opcionalmente políticas WAF.
Cloudflare
Cloudflare puede configurarse como proxy inverso. Pero Cloudflare requiere un plan Enterprise para reescribir dominios (encabezados host). Restringe el acceso requiriendo el encabezado HTTP X-FoxIDs-Secret.
Azure Application Gateway
Azure Application Gateway puede reescribir todos los dominios si está configurado.
El encabezado HTTP X-FoxIDs-Secret puede agregarse para restringir el acceso (recomendado según la infraestructura).
Opcionalmente configura una regla de reescritura para requerir un secreto y enviar un secreto en un encabezado HTTP X-FoxIDs-Secret. Puedes requerir un encabezado X-FoxIDs-Secret si tienes un proxy inverso delante de Azure Application Gateway.
Si se requiere un secreto, agrega una sonda de salud HTTPS personalizada con el parámetro de consulta X-FoxIDs-Secret /?x-foxids-secret=xxx y el secreto.
IIS ARR Proxy
Internet Information Services (IIS) Application Request Routing (ARR) Proxy requiere un servidor Windows. ARR Proxy reescribe dominios con una regla de reescritura.
El encabezado HTTP X-FoxIDs-Secret puede agregarse para restringir el acceso (recomendado según la infraestructura).
Se puede configurar una regla global que acepte todos los dominios externos. Este ejemplo es una regla global; las reglas también pueden agregarse a sitios web.
Opcionalmente puedes requerir (secret1) y enviar (secret2) en un encabezado HTTP X-FoxIDs-Secret. Puedes requerir un encabezado X-FoxIDs-Secret si tienes un proxy inverso delante del proxy ARR.
<globalRules>
<rule name="my-rule-name" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_X-FoxIDs-Secret}" pattern="... secret1 ..." ignoreCase="false" />
</conditions>
<action type="Rewrite" url="https://my-foxids-installation.com/{R:1}" />
<serverVariables>
<set name="HTTP_X-ORIGINAL-HOST" value="{HTTP_HOST}" />
<set name="HTTP_X-FoxIDs-Secret" value="... secret2 ..." />
</serverVariables>
</rule>
</globalRules>
Leer encabezados HTTP
El sitio FoxIDs admite leer la dirección IP del cliente reenviada en los siguientes encabezados HTTP, en orden de prioridad:
CF-Connecting-IPX-Azure-ClientIPX-Forwarded-For
El sitio FoxIDs admite leer el dominio personalizado (nombre de host) desde el proxy inverso en los siguientes encabezados HTTP, en orden de prioridad:
X-ORIGINAL-HOSTX-Forwarded-Host
El encabezado host solo se lee si el acceso está restringido por el encabezado HTTP
X-FoxIDs-Secreto si el ajusteSettings__TrustProxyHeadersestá configurado comotrue.
El sitio FoxIDs y el sitio FoxIDs Control admiten leer el esquema HTTP/HTTPS si el ajuste Settings__TrustProxySchemeHeader está configurado como true. En los siguientes encabezados HTTP, en orden de prioridad:
X-Forwarded-SchemeX-Forwarded-Proto
Restringir acceso
Tanto el sitio FoxIDs como el sitio FoxIDs Control pueden restringir el acceso según el encabezado HTTP X-FoxIDs-Secret.
La restricción de acceso se activa agregando el ajuste Settings__ProxySecret con el secreto.