

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SSL &#8211; OmnesPRO GmbH</title>
	<atom:link href="https://www.omnespro.ch/post/tag/ssl/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.omnespro.ch</link>
	<description></description>
	<lastBuildDate>Tue, 09 Jun 2026 23:46:45 +0000</lastBuildDate>
	<language>de-CH</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.omnespro.ch/wp-content/uploads/2023/07/cropped-OmnesPRO-final-large-32x32.png</url>
	<title>SSL &#8211; OmnesPRO GmbH</title>
	<link>https://www.omnespro.ch</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>einfacher Reverse Proxy als Weiche zu mehreren Webservern und verteilte SSL-Zertifikate</title>
		<link>https://www.omnespro.ch/post/einfacher-reverse-proxy-als-weiche-zu-mehreren-webservern-und-verteilte-ssl-zertifikate/</link>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 27 Dec 2023 21:02:53 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[gewusstwie]]></category>
		<category><![CDATA[hint]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[HTTPS]]></category>
		<category><![CDATA[Proxy]]></category>
		<category><![CDATA[SNI]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[tom.aeby@omnespro.ch]]></category>
		<category><![CDATA[Webserver]]></category>
		<guid isPermaLink="false">https://omnespro.fuertests.ch/post/einfacher-reverse-proxy-als-weiche-zu-mehreren-webservern-und-verteilte-ssl-zertifikate/</guid>

					<description><![CDATA[Herausforderung mehrere Webserver stellen Websites/Webanwendungen/Webdienste zur Verf&#252;gung aus Sicht des Anwenders/Netztopologie sollen all diese zum einem einzigen&#160;Knoten zusammengefasst sein &#8211; z.B. aus Gr&#252;nden der Sicherheit, der Flexibili&#228;t (Umzug von Webdiensten ohne DNS-&#196;nderungen), oder Adressknappheit nebst unverschl&#252;sseltem HTTP soll unbedingt auch HTTPS unterst&#252;tzt werden &#160; Ansatz: Reverse Proxy Die logische Antwort auf eine solche Herausforderung stellt [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3>Herausforderung</h3>
<ul>
<li>mehrere Webserver stellen Websites/Webanwendungen/Webdienste zur Verf&uuml;gung</li>
<li>aus Sicht des Anwenders/Netztopologie sollen all diese zum einem einzigen&nbsp;Knoten zusammengefasst sein &#8211; z.B. aus Gr&uuml;nden der Sicherheit, der Flexibili&auml;t (Umzug von Webdiensten ohne DNS-&Auml;nderungen), oder Adressknappheit</li>
<li>nebst unverschl&uuml;sseltem HTTP soll unbedingt auch HTTPS unterst&uuml;tzt werden</li>
</ul>
<p>&nbsp;</p>
<h3>Ansatz: Reverse Proxy</h3>
<p>Die logische Antwort auf eine solche Herausforderung stellt ein Reverse Proxy dar, der aus Sicht von ausserhalb alle Web-Anfragen per HTTP und HTTPS entgegennimmt und diese an die internen Server weiterreicht. Typischerweise kommen hier Produkte wie Apache oder NGINX zum Einsatz.</p>
<p>Der klassische Ansatz hat auch Nachteile:</p>
<ul>
<li>alle Requests werden zweifach bearbeitet, einmal vom Proxy, einmal vom eigentlichen Webserver</li>
<li>Inkompatibilit&auml;ten machen dem Admin das Leben schwer</li>
<li>die Latenz steigt, die Performance leidet</li>
<li>sehr flexible L&ouml;sung mit entsprechend aufw&auml;ndiger Konfiguration</li>
<li>SSL-Zertifikate und -Schl&uuml;ssel m&uuml;ssen auf dem Reverse-Proxy vorliegen (das kann auch ein Vorteil sein)</li>
</ul>
<p>&nbsp;</p>
<h3>leichtgewichtige&nbsp;Variante: Reverse Proxying mit SNIProxy</h3>
<p><a href="https://github.com/dlundquist/sniproxy">SNIProxy</a> ist ein simpler Proxy mit sehr &uuml;berschaubarem Funktionsumfang und entsprechend einfacher Konfiguration. Als &quot;Border Proxy&quot; zwischen Anwender/Anwendung und Webserver erlaubt er es, abh&auml;ngig vom Servernamen (&quot;Virtual Host&quot;) Requests 1:1 an den dazu passenden Webserver weiterzureichen &#8211; und zwar sowohl HTTP- als auch HTTPS-basierte. Anders als vollwertige Reverse Proxies verarbeitet er selber die Anfragen nicht, sondern reicht sie unver&auml;ndert an den jeweiligen Webserver durch. S&auml;mtliche typischen Kompatibilit&auml;tsprobleme entfallen und Probleme mit Performance oder Latenz entfallen.</p>
<p>Da der SNIProxy auch SSL-Verkehr nicht selber auswertet, sondern lediglich den per SNI &uuml;bermittelten Servernamen auswertet und den Aufbau der SSL-Verbindung dem Zielserver &uuml;berl&auml;sst, ben&ouml;tigt er keinerlei SSL-Konfiguration &#8211; diese wird wie gewohnt auf den eigentlichen Webservern durchgef&uuml;hrt.</p>
<p>Nat&uuml;rlich sind&nbsp;auf Grund der einfachen Funktion auch die Einsatzszenarien begrenzt. Z.B. erlaubt SNIProxy <strong>nicht</strong>:</p>
<ul>
<li>URLs umzuschreiben</li>
<li>Requests vorzufiltern und etwaige gef&auml;hrliche Requests bereits auf dem Proxy zu blockieren</li>
</ul>
<p>Eine simple Konfiguration von SNIProxy k&ouml;nnte so aussehen:</p>
<pre><code>user daemon

pidfile /var/run/sniproxy.pid

listen 80 {
   proto http
   table hosts
   access_log {
     filename /var/log/sniproxy/access.log
   }
}

listen 443 {
   proto tls
   table hosts
   access_log {
     filename /var/log/sniproxy/access.log
   }
}

table hosts {
   server1.example  192.168.1.13
   server2.example 192.168.1.14
}
</code></pre>
<p>D.h. SNIProxy h&ouml;rt auf die Ports 80 und 443 und leitet Anfragen abh&auml;ngig vom vom Client angesprochenen Servernamen auf die internen Adressen 192.168.1.13 oder 192.168.1.14 um (auf denselben Port wie beim urspr. Request).</p>
<p>&nbsp;</p>
<h3>IP-Adresse loggen / transparenter Proxy</h3>
<p>Ein Problem, das im Zusammenhang mit Reverse Proxies regelm&auml;ssig auftritt, ist, dass es f&uuml;r den Webserver hinter dem Proxy so aussieht, als w&uuml;rde der Request vom Proxy selbst kommen. Entsprechend landet&nbsp;in den Log-Files des Webservers die IP-Adresse des Proxies, Mechanismen wie Sperren bei wiederholt falschen Login-Versuchen o.&auml;. betreffen alle Requests, und last-but-not-least sind Logauswertungen mit Tools wie <a href="http://www.webalizer.org">Webalizer</a> oder <a href="http://www.awstats.org">AWStats</a> relativ nutzlos.</p>
<p>SNIProxy bietet als Ausweg aus diesem Dilemma die M&ouml;glichkeit an, Verbindungen so durchzuschleifen, dass aus Sicht des Webservers der Zugriff von der Original-IP des Clients aus erfolgt. In einem der n&auml;chsten Beitr&auml;ge hier werden wir ein entsprechendes Setup beschreiben.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
