Von Version 9.3
bearbeitet von rth
am 06.12.2023, 08:40
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 6.2
bearbeitet von gru
am 11.05.2022, 12:03
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.rth
1 +XWiki.gru
Inhalt
... ... @@ -55,11 +55,7 @@
55 55  
56 56  <IfModule mod_ssl.c>
57 57   <VirtualHost www.example.com:443>
58 -
59 59   ...
60 - # Aktiviert das Erhalten des ursprünglich aufgerufenen Hosts bis zum Anwendungsserver.
61 - ProxyPreserveHost On
62 - ...
63 63   SSLEngine on
64 64   SSLProxyEngine On
65 65   ...
... ... @@ -88,52 +88,20 @@
88 88  
89 89  == Verwenden von //X-Forwarded// Headern für unverschlüsselte Kommunikation ==
90 90  
91 -Wenn der zwischengeschaltete Server das Senden von //X-Forwarded// Headern unterstützt und der {{formcycle/}} hostetende Servlet-Container (z.B. Tomcat) diese Header auswerten kann, ist es möglich die Kommunikation von zwischengeschaltetem Server und {{formcycle/}} auch über ein anderes Protokoll zu konfigurieren. Sowohl beim vorgeschalteten Server als auch beim Servlet-Container muss das Verwenden dieser Header konfiguriert sein. Nähere Informationen zur Konfiguration finden sich in der Dokumentation des jeweiligen Produktes. Bei dieser Variante ist es nicht mehr notwendig im Tomcat Zertifikate zu hinterlegen. Es folgen hier zwei Konfigurationsbespiele für //Apache //und //nginx//.
87 +Wenn der zwischengeschaltete Server das Senden von //X-Forwarded// Headern unterstützt und der {{formcycle/}} hostetende Servlet-Container diese Header auswerten kann, kann die Kommunikation zwischen zwischengeschaltetem Server und {{formcycle/}} auch über ein anderes Protokoll erfolgen. Sowohl beim vorgeschalteten Server als auch beim Servlet-Container muss das Verwenden dieser Header konfiguriert sein. Nähere Informationen zur Konfiguration finden sich in der Dokumentation des jeweiligen Produktes.
92 92  
93 93  === Konfigurationsbeispiele ===
94 94  
95 -Im //Apache// kann das Mitsenden der entsprechenden Header in den für den Reverse-Proxy zuständigen //VirtualHosts// beispielsweise wie folgt konfiguriert werden:
91 +Im //Apache// kann das Mitsenden der entsprechenden Header in den für den Reverse-Proxy zuständigen //VirtualHost//s beispielsweise wie folgt konfiguriert werden:
96 96  
97 97  {{code language="none"}}
98 -<VirtualHost www.example.com:80>
99 - ...
100 - RequestHeader set X-Forwarded-Port "80"
101 - RequestHeader set X-Forwarded-Proto "http"
102 - ...
103 - # Weiterleitung über HTTP
104 - ProxyPass / http://192.168.0.1/
105 - ProxyPassReverse / http://192.168.0.1/
106 - ...
107 - # Weiterleitung der WebSocket-Verbindung über WS
108 - RewriteEngine on
109 - RewriteCond %{HTTP:Upgrade} websocket [NC]
110 - RewriteCond %{HTTP:Connection} upgrade [NC]
111 - RewriteRule ^/?(.*) "ws://192.168.0.1:80/$1" [P,L]
112 -</VirtualHost>
94 +//HTTP
95 +RequestHeader set X-Forwarded-Port "80"
96 +RequestHeader set X-Forwarded-Proto "http"
113 113  
114 -<IfModule mod_ssl.c>
115 - <VirtualHost www.example.com:443>
116 - ...
117 - # Aktiviert das Erhalten des ursprünglich aufgerufenen Hosts bis zum Anwendungsserver.
118 - ProxyPreserveHost On
119 - ...
120 - SSLEngine on
121 - SSLProxyEngine On
122 - ...
123 - RequestHeader set X-Forwarded-Port "443"
124 - RequestHeader set X-Forwarded-Proto "https"
125 - ...
126 - # Weiterleitung über HTTPS
127 - ProxyPass / http://192.168.0.1/
128 - ProxyPassReverse / http://192.168.0.1/
129 - ...
130 - # Weiterleitung der gesicherten WebSocket-Verbindung über WSS
131 - RewriteEngine on
132 - RewriteCond %{HTTP:Upgrade} websocket [NC]
133 - RewriteCond %{HTTP:Connection} upgrade [NC]
134 - RewriteRule ^/?(.*) "wss://192.168.0.1:443/$1" [P,L]
135 - </VirtualHost>
136 -</IfModule>
98 +//HTTPS
99 +RequestHeader set X-Forwarded-Port "443"
100 +RequestHeader set X-Forwarded-Proto "https"
137 137  {{/code}}
138 138  
139 139  Bei //nginx// kann für das Mitsenden der entsprechenden Header in der für den Reverse-Proxy zuständigen Sektion beispielsweise folgende Konfiguration verwendet werden:
... ... @@ -157,7 +157,7 @@
157 157  {{code language="none"}}
158 158  <Engine......
159 159   <Valve className="org.apache.catalina.valves.RemoteIpValve"
160 - internalProxies="<optionale Angabe, siehe unten>"
124 + internalProxies="<IP's der vertrauenswürdigen Proxy-Server>"
161 161   remoteIpHeader="x-forwarded-for"
162 162   protocolHeader="x-forwarded-proto"
163 163   protocolHeaderHttpsValue="https" />
... ... @@ -164,4 +164,4 @@
164 164  </Engine>
165 165  {{/code}}
166 166  
167 -Der Default für den Parameter [[//internalProxies //>>https://tomcat.apache.org/tomcat-9.0-doc/api/org/apache/catalina/filters/RemoteIpFilter.html||rel="noopener noreferrer" target="_blank"]]ist //10/8, 192.168/16, 169.254/16, 127/8, 172.16/12, and 0:0:0:0:0:0:0:1//. Falls die IP(s) des vertrauenswürdigen Proxy-Server nicht damit abgedeckt sind, müssenn diese in Form eines Reguren Ausdrucks angegeben werden. Erwartet wird hier eine oder mehrere IP-Adressen (z.B.: 192\.168\.0\.10|192\.168\.0\.11) oder ein IP-Adressbereich, welcher mittels regulären Ausdrucks (z.B.: 169\.254\.\d{1,3}\.\d{1,3}) definiert werden kann.
131 +**Hinweis:** Sollte die Konfiguration der //X-Forwarded//-Header nicht greifen, so ist es unter Umständen notwendig in der Eigenschaft //internalProxies// die IP's der vertrauenswürdigen Proxy-Server zu konfigurieren. Erwartet wird hier eine oder mehrere IP-Adressen (z.B.: 192\.168\.0\.10|192\.168\.0\.11) oder ein IP-Adressbereich, welcher mittels regulären Ausdrucks (z.B.: 169\.254\.\d{1,3}\.\d{1,3}) definiert werden kann.