<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Reverse_Proxy_Grundlagen</id>
	<title>Reverse Proxy Grundlagen - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Reverse_Proxy_Grundlagen"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;action=history"/>
	<updated>2026-06-29T13:55:11Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;diff=64015&amp;oldid=prev</id>
		<title>Thomas.will: /* Komponenten und Beispiele */</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;diff=64015&amp;oldid=prev"/>
		<updated>2025-07-27T07:08:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Komponenten und Beispiele&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 27. Juli 2025, 07:08 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l42&quot; &gt;Zeile 42:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 42:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Traefik&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Traefik&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Caddy&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Caddy&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Anwendungsbeispiele&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Typische Anwendungsszenarien&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Zugriff auf `&lt;/del&gt;app1.domain.tld&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;` → interner &lt;/del&gt;Port 8081&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Aufruf der Subdomain &lt;/ins&gt;app1.domain.tld &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wird intern an &lt;/ins&gt;Port 8081 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;weitergeleitet&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Zugriff auf `&lt;/del&gt;api.domain.tld&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;` → interner &lt;/del&gt;Port 9000&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Aufruf der Subdomain &lt;/ins&gt;api.domain.tld &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;wird intern an &lt;/ins&gt;Port 9000 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;weitergeleitet&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** SSL wird am Reverse Proxy &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;terminiert&lt;/del&gt;, Backend &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;nur &lt;/del&gt;HTTP&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** SSL&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/TLS &lt;/ins&gt;wird am Reverse Proxy &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;beendet&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;das &lt;/ins&gt;Backend &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verwendet unverschlüsseltes &lt;/ins&gt;HTTP&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Erweiterte Funktionen ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Erweiterte Funktionen ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;diff=64014&amp;oldid=prev</id>
		<title>Thomas.will am 27. Juli 2025 um 07:07 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;diff=64014&amp;oldid=prev"/>
		<updated>2025-07-27T07:07:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 27. Juli 2025, 07:07 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Reverse Proxy – Theorie und Grundlagen =&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Einleitung ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Einleitung ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Reverse Proxy ist ein Server, der Anfragen von Clients entgegennimmt und sie an einen oder mehrere interne Server weiterleitet. Im Gegensatz zum Forward Proxy, der den Client schützt, schützt der Reverse Proxy die Server.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ein Reverse Proxy ist ein Server, der Anfragen von Clients entgegennimmt und sie an einen oder mehrere interne Server weiterleitet. Im Gegensatz zum Forward Proxy, der den Client schützt, schützt der Reverse Proxy die Server.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;diff=64013&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= Reverse Proxy – Theorie und Grundlagen =  == Einleitung == Ein Reverse Proxy ist ein Server, der Anfragen von Clients entgegennimmt und sie an einen oder m…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Reverse_Proxy_Grundlagen&amp;diff=64013&amp;oldid=prev"/>
		<updated>2025-07-27T07:07:27Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Reverse Proxy – Theorie und Grundlagen =  == Einleitung == Ein Reverse Proxy ist ein Server, der Anfragen von Clients entgegennimmt und sie an einen oder m…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Reverse Proxy – Theorie und Grundlagen =&lt;br /&gt;
&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
Ein Reverse Proxy ist ein Server, der Anfragen von Clients entgegennimmt und sie an einen oder mehrere interne Server weiterleitet. Im Gegensatz zum Forward Proxy, der den Client schützt, schützt der Reverse Proxy die Server.&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Ein Client stellt eine HTTP- oder HTTPS-Anfrage an eine öffentliche Adresse. Der Reverse Proxy nimmt diese entgegen und leitet sie intern an den passenden Server weiter. Die Antwort des internen Servers wird wieder durch den Proxy zurück zum Client geschickt.&lt;br /&gt;
&lt;br /&gt;
== Vorteile ==&lt;br /&gt;
* Schutz der internen Infrastruktur durch Adressmaskierung&lt;br /&gt;
* Lastverteilung (Load Balancing) zwischen mehreren Backend-Servern&lt;br /&gt;
* SSL/TLS-Terminierung (HTTPS endet am Proxy, internes Netz bleibt unverschlüsselt)&lt;br /&gt;
* Zentrales Logging und Monitoring&lt;br /&gt;
* Caching zur Performance-Optimierung&lt;br /&gt;
* Möglichkeit zur zentralen Authentifizierung&lt;br /&gt;
* Integration von WAF-Mechanismen (Web Application Firewall)&lt;br /&gt;
* URL-Rewriting und Pfadweiterleitungen&lt;br /&gt;
&lt;br /&gt;
== Einsatzszenarien ==&lt;br /&gt;
* Veröffentlichung interner Webanwendungen&lt;br /&gt;
* Zugriff auf containerisierte Dienste (z. B. Docker)&lt;br /&gt;
* Mandantenfähige Systeme mit Subdomain- oder Pfadtrennung&lt;br /&gt;
* Absicherung von APIs&lt;br /&gt;
* Wartungsmodus und Fehlerseiten zentral steuerbar&lt;br /&gt;
&lt;br /&gt;
== Unterschiede zum Forward Proxy ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Merkmal !! Forward Proxy !! Reverse Proxy&lt;br /&gt;
|-&lt;br /&gt;
| Position im Netz || Vor dem Client || Vor dem Server&lt;br /&gt;
|-&lt;br /&gt;
| Bekannt beim Client || Ja (explizit konfiguriert) || Nein (transparent)&lt;br /&gt;
|-&lt;br /&gt;
| Zweck || Zugriffskontrolle nach außen || Schutz und Verteilung eingehender Zugriffe&lt;br /&gt;
|-&lt;br /&gt;
| Typische Nutzung || Arbeitsplatz-Internetfilter || Webserver-Firewall oder Load Balancer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Komponenten und Beispiele ==&lt;br /&gt;
* Reverse Proxies:&lt;br /&gt;
** NGINX&lt;br /&gt;
** Apache mit mod_proxy&lt;br /&gt;
** HAProxy&lt;br /&gt;
** Traefik&lt;br /&gt;
** Caddy&lt;br /&gt;
* Anwendungsbeispiele:&lt;br /&gt;
** Zugriff auf `app1.domain.tld` → interner Port 8081&lt;br /&gt;
** Zugriff auf `api.domain.tld` → interner Port 9000&lt;br /&gt;
** SSL wird am Reverse Proxy terminiert, Backend nur HTTP&lt;br /&gt;
&lt;br /&gt;
== Erweiterte Funktionen ==&lt;br /&gt;
* Health Checks für Backend-Server&lt;br /&gt;
* Sticky Sessions (Session-Pinning auf bestimmten Server)&lt;br /&gt;
* HTTP Header Manipulation (z. B. X-Forwarded-For)&lt;br /&gt;
* Rate Limiting und IP-Blocking&lt;br /&gt;
&lt;br /&gt;
== Sicherheitsaspekte ==&lt;br /&gt;
* Angriffsfläche des Backends wird reduziert&lt;br /&gt;
* SSL-Management zentralisiert&lt;br /&gt;
* Möglichkeit zur Authentifizierung per LDAP, SSO, 2FA&lt;br /&gt;
* Kontrolle über eingehende Methoden (nur GET/POST erlaubt)&lt;br /&gt;
&lt;br /&gt;
== Fazit ==&lt;br /&gt;
Ein Reverse Proxy ist ein zentrales Element moderner Web-Infrastrukturen. Er erhöht Sicherheit, Performance und Flexibilität. Besonders in Kombination mit Containern, Microservices oder Zero-Trust-Architekturen ist er unverzichtbar.&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>