Ich führe einen Dienst hinter IIS mit ARR als Reverse-Proxy. Ich weiß, dass es x-forwarded-for
und x-arr-log-id
Header gibt, die weitergegeben werden. Was ich jedoch möchte, ist ein privater Schlüssel, der übergeben wird, so dass die Backing-Anwendung explizit weiß, dass die Anfrage nicht lokal ist (obwohl der ARR-Server ist). Ich habe einige Beiträge zum Hinzufügen / Ersetzen von Servervariablen gesehen, aber dies scheint nicht über die Anforderungsheader der Backing-Anwendung zu erfolgen.
Ich vermute, dass es einige Einstellungen für web.config geben muss, die das tun, aber bisher kein Glück hatten, es zu finden.
Beispiel: X-PRIVATE-TOKEN: We are the children of Korn!
Damit ich der x-forwarded-for
-Adresse vertrauen kann, ist das die tatsächliche Adresse, im Gegensatz zu den ip-Adressreferenzen aller Proxy-Anfragen einfach zu misstrauen.
Die Antwort mit freundlicher Genehmigung von IIS. net scheint, dass dies Teil des zugehörigen URL-Rewrite-Moduls ist:
Die Anforderungsheader werden mithilfe des gleichen Mechanismus wie für den Server festgelegt Variablen, aber mit einer speziellen Namenskonvention. Wenn eine Servervariable Name in der Sammlung beginnt mit "HTTP_" dann dies führt dazu, dass ein HTTP-Request-Header entsprechend dem folgende Namenskonvention:
Alle Unterstriche ("_") im Namen werden in Strichsymbole umgewandelt ("-"). Alle Buchstaben werden in Kleinbuchstaben umgewandelt. "HTTP_" Präfix ist entfernt Zum Beispiel wird die folgende Konfiguration verwendet, um den benutzerdefinierter x-original-host-Header auf der Anfrage:
<set name="HTTP_X_ORIGINAL_HOST" value="{HTTP_HOST}" />
Tags und Links iis reverse-proxy iis-arr