Reverse proxy
Es wird empfohlen, sowohl die FoxIDs Site als auch die FoxIDs Control Site hinter einem Reverse Proxy zu platzieren.
Reverse proxies
FoxIDs unterstützt im Allgemeinen alle Reverse Proxies. Die folgenden Reverse Proxies wurden getestet.
Azure Front Door
Azure Front Door kann als Reverse Proxy konfiguriert werden. Azure Front Door schreibt Domains standardmäßig um.
Aktiviere KEIN Caching. Der
Accept-LanguageHeader wird nicht weitergeleitet, wenn Caching aktiviert ist. Der Header wird von FoxIDs benötigt, um Kulturen zu unterstützen.
Füge einen Azure Front Door Endpoint für die FoxIDs Site und die FoxIDs Control Site hinzu. Zugriff einschränken, indem der X-FoxIDs-Secret HTTP Header erforderlich ist.
Deaktiviere Session affinity und konfiguriere optional WAF Policies.
Cloudflare
Cloudflare kann als Reverse Proxy konfiguriert werden. Cloudflare benötigt jedoch einen Enterprise Plan, um Domains (Host Headers) umzuschreiben. Zugriff einschränken, indem der X-FoxIDs-Secret HTTP Header erforderlich ist.
Azure Application Gateway
Azure Application Gateway kann alle Domains umschreiben, wenn konfiguriert.
Der X-FoxIDs-Secret HTTP Header kann optional hinzugefügt werden, um den Zugriff einzuschränken (empfohlen je nach Infrastruktur).
Optional eine Rewrite Regel konfigurieren, die sowohl ein Secret erfordert als auch ein Secret im X-FoxIDs-Secret HTTP Header sendet. Du kannst einen X-FoxIDs-Secret HTTP Header verlangen, wenn du einen Reverse Proxy vor dem Azure Application Gateway hast.
Wenn ein Secret erforderlich ist, füge eine benutzerdefinierte HTTPS Health Probe mit dem X-FoxIDs-Secret Query Parameter /?x-foxids-secret=xxx und dem Secret hinzu.
IIS ARR Proxy
Internet Information Services (IIS) Application Request Routing (ARR) Proxy erfordert einen Windows Server. ARR Proxy schreibt Domains mit einer Rewrite Regel um.
Der X-FoxIDs-Secret HTTP Header kann optional hinzugefügt werden, um den Zugriff einzuschränken (empfohlen je nach Infrastruktur).
Eine Accept All External Domains Regel kann konfiguriert werden. Dieses Beispiel ist eine globale Regel, Regeln können auch Websites hinzugefügt werden.
Optional sowohl verlangen (secret1) als auch senden (secret2) in einem X-FoxIDs-Secret HTTP Header. Du kannst einen X-FoxIDs-Secret HTTP Header verlangen, wenn du einen Reverse Proxy vor dem ARR Proxy hast.
<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>
Read HTTP headers
Die FoxIDs Site unterstützt das Lesen der weitergeleiteten Client IP Adresse in den folgenden HTTP Headern in Prioritätsreihenfolge:
CF-Connecting-IPX-Azure-ClientIPX-Forwarded-For
Die FoxIDs Site unterstützt das Lesen der Custom Domain (Host Name) vom Reverse Proxy in den folgenden HTTP Headern in Prioritätsreihenfolge:
X-ORIGINAL-HOSTX-Forwarded-Host
Der Host Header wird nur gelesen, wenn der Zugriff durch den
X-FoxIDs-SecretHTTP Header eingeschränkt ist oder dieSettings__TrustProxyHeadersEinstellung auftruegesetzt ist.
Die FoxIDs Site und die FoxIDs Control Site unterstützen das Lesen des HTTP/HTTPS Schemas, wenn die Settings__TrustProxySchemeHeader Einstellung auf true gesetzt ist. In den folgenden HTTP Headern in Prioritätsreihenfolge:
X-Forwarded-SchemeX-Forwarded-Proto
Zugriff einschränken
Sowohl die FoxIDs Site als auch die FoxIDs Control Site können den Zugriff basierend auf dem X-FoxIDs-Secret HTTP Header einschränken.
Die Zugriffsbeschränkung wird aktiviert, indem die Einstellung Settings__ProxySecret mit dem Secret hinzugefügt wird.