Zeige letzte Bearbeiter
1 Sollte der Anwendungsserver (z.B. Tomcat) auf welchem {{formcycle/}} installiert ist hinter einem weiteren Server z.B. einem Revers-Proxy, einem Load-Bancer oder ähnlichem betrieben werden, ist zu beachten, dass die Informationen eines Aufrufs unverändert an diesen übermittelt werden. Konkret bedeutet dies, dass sowohl der Host-Header als auch das verwendete Protokoll durch die zwischengeschalteten Server unverändert weitergereicht werden müssen. In den meisten Standardkonfigurationen ist dies jedoch nicht der Fall da die Anfragen vom zwischengeschaltenen Server entgegengenommen werden und als neue Anfrage an den Andwendungs-Server gestellt werden.
2
3
4 {{figure image="proxy_de.jpg"}}
5 Manipulation des Hosts und des Protokolls durch einen Revers-Proxy.
6 {{/figure}}
7
8
9 In Abbildung XYZ ist dieser Ablauf wie folgt zu erkennen:
10
11 1. Der Benutzer ruft die URL https://www.example.com/formcycle auf.
12 1. Die Anfrage wird vom zwischengeschaltenen Server entgegengenommen und interpretiert.
13 1. Der zwischengeschaltene Server reicht stellt eine neue Anfrage an den dafür vorgesehenen Server. Da hier jedoch ein interner Aufruf stattfindet kommt es zur Änderung der Aufruf-URL zu http://192.168.0.1/formcycle. Diese URL kommt nun beim Anwendungsserver an und beinhaltet nicht mehr die benötigten Informationen welche URL vom Benutzer eigentlich aufgerufen wurde.
14
15 {{info}}
16 Da {{formcycle/}} vor allem bei der Anmeldung an einem Formular die ursprünge Aufruf-URL des Benutzers interpretiert und diese ggf. nicht ermittelt werden kann, ist es nötig zwischengeschaltene Server entsprechend zu konfigurieren. Hierbei ist darauf zu achten, dass sowohl der HTTP-Header //Host //als auch das verwendete Protokoll (//HTTP //oder //HTTPS//) unverändert weitergereicht werden.
17 {{/info}}
18
19 == Beispiel Apache Proxy ==
20
21
22 (((
23 {{code}}
24 <VirtualHost www.example.com:80>
25 ...
26 # Aktiviert das Erhalten des ursprünglich aufgerufenen Hosts bis zum Anwendungsserver.
27 ProxyPreserveHost On
28 ...
29 # Weiterleitung über HTTP
30 ProxyPass / http://192.168.0.1/
31 ProxyPassReverse / http://192.168.0.1/
32 </VirtualHost>
33
34 <IfModule mod_ssl.c>
35 <VirtualHost www.example.com:443>
36 ...
37 SSLEngine on
38 SSLProxyEngine On
39 ...
40 # Aktiviert das Erhalten des ursprünglich aufgerufenen Hosts bis zum Anwendungsserver.
41 ProxyPreserveHost On
42
43 # Deaktivert falls nötig die Prüfung des Zertifikats des Anwendungsserver.
44 # Nötig falls es sich um selbsterstelle Zertifikate handelt.
45 SSLProxyVerify none
46 SSLProxyCheckPeerCN off
47 SSLProxyCheckPeerName off
48 SSLProxyCheckPeerExpire off
49 ...
50 # Weiterleitung über HTTPS
51 ProxyPass / https://192.168.0.1/
52 ProxyPassReverse / https://192.168.0.1/
53 </VirtualHost>
54 </IfModule>
55 {{/code}}
56 )))
Copyright 2000-2024