Weiterleitung an eine andere lokale Domain (Apache): Unterschied zwischen den Versionen

Aus Tutorials
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „Manchmal ist es erforderlich, Http(s)-Anfragen von außen an einen Server, der nur lokal erreichbar ist, weiter zu leiten. In dem her beschriebenen Beispiel, ist die Webseite <code>test.<domain></code> sowohl lokal, als auch von außen, unter dem selben DNS-Namen erreichbar. Im folgenden Beispiel habe ich das durch eine Subdomain <code>lokal.<domain></code> gelöst. Der von außen erreichbare Server nimmt dazu die Anfragen für <code>test.<domain></code>…“
 
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
== Allgemein ==
Manchmal ist es erforderlich, Http(s)-Anfragen von außen an einen Server, der nur lokal erreichbar ist, weiter zu leiten.
Manchmal ist es erforderlich, Http(s)-Anfragen von außen an einen Server, der nur lokal erreichbar ist, weiter zu leiten.
In dem her beschriebenen Beispiel, ist die Webseite <code>test.<domain></code> sowohl lokal, als auch von außen, unter dem selben DNS-Namen erreichbar.
In dem her beschriebenen Beispiel, ist die Webseite <code>test.<domain></code> sowohl lokal, als auch von außen, unter dem selben DNS-Namen erreichbar.
Zeile 56: Zeile 58:
</VirtualHost>
</VirtualHost>
</pre>
</pre>
Zurück zu [[Apache_HTTP_(Linux)#Weiterleitung_an_einen_anderen_Server|Apache HTTP]]

Aktuelle Version vom 1. November 2026, 09:27 Uhr

Allgemein

Manchmal ist es erforderlich, Http(s)-Anfragen von außen an einen Server, der nur lokal erreichbar ist, weiter zu leiten. In dem her beschriebenen Beispiel, ist die Webseite test.<domain> sowohl lokal, als auch von außen, unter dem selben DNS-Namen erreichbar. Im folgenden Beispiel habe ich das durch eine Subdomain lokal.<domain> gelöst. Der von außen erreichbare Server nimmt dazu die Anfragen für test.<domain> entgegen und leitet sie an test.lokal.<domain> weiter.


Für das Erstellen einer Subdomain siehe auch Subdomain in Bind.

Weiterleitender Server

Der DNS-Name test.<domain> muss auf den weiterleitenden Server aufgelöst werden und test.lokal.<domain> auf den lokalen Server. In dem folgenden Beispiel ist die weitergeleitete Verbindung zum lokalen Server auch verschlüsselt.

Zuerst müssen die erforderlichen Module aktiviert werden:

sudo a2enmod proxy
sudo a2enmod proxy_html
sudo a2enmod proxy_http 

Danach eine Konfiguration nach folgenden Muster anlegen:

<VirtualHost *:443>
	ServerName test.<domain>
    
	SSLProxyEngine On
	ProxyPass / https://test.local.<domain>/
	ProxyPassReverse / https://test.local.<domain>/

	SSLProxyCheckPeerName off
	SSLProxyCheckPeerCN off

	SSLEngine on
	SSLCertificateFile /etc/ssl/certs/test.crt
	SSLCertificateKeyFile /etc/ssl/private/apache.key
</VirtualHost>

Da das SSL-Zertifikat am Zielserver eigentlich für test.<domain> ausgestellt wurde, muss noch die Validierung des Namen deaktiviert werden. Dazu dienen folgende Zeilen in obigen Beispiel:

SSLProxyCheckPeerName off
SSLProxyCheckPeerCN off

Zielserver

Der Zielserver muss in der .conf den Namen test.lokal.<domain> als Aliasnamen angegeben haben.

<VirtualHost *:443>
	ServerName test.<domain>
	ServerAlias test.local.<domain>

        ...
</VirtualHost>


Zurück zu Apache HTTP