SSL hinter Proxy - ich bekomme es einfach nicht hin !

mediaopten

New Member
Hallo - schön hier zu sein, da ich mehrfach vergeblich versucht habe, mich hier neu zu registrieren.
Ich habe Ubuntu 22.04 und ISPConfig erfolgreich auf unserem HomeOfficeServer installiert.
Bisher habe ich über mehrere Jahre auf dezidierten Servern CentOS und PLESK genutzt.
ISPConfig ist mir also noch absolut neu.
Hier habe ich nun das Problem, dass ich für die Client WebSites einfach kein SSL hinbekomme.
Die Subdomain http://xxx.yyyyyy.de lässt sich problemlos über das Internet aufrufen. Ich benötige für unsere WebSites jedoch SSL.
Da es sich um einen Homeserver handelt, ist dazwischen noch das Programm „Nginx Proxy Manager“ geschaltet. Normalerweise aktiviere ich hierzu einfach im „Nginx Proxy Manager“ die SSL Verbindung und lasse ein „Let’s Encrypt SSL Zertifikat“ ausstellen. Der zugehörige WebServer lauscht auf Port 80 UND 443 - und die Verbindung klappt problemlos.
Anders hier beim ISPConfig Server. Hier bekomme ich immer Fehlermeldungen. Auch wenn ich im „Nginx Proxy Manager“ das SSL und das Zertifikat weglasse und dafür im ISPConfig Server das SSL und das Zertifikat aktiviere - immer nur Fehlermeldungen.
Etwas verwirrt mich der Inhalt der Datei:
/etc/apache2/sites-enabled/100-xxx.yyyyyy.de.vhost
denn dort ist nur <VirtualHost *:80> eingetragen und nichts von 443 !
Warum fehlt der Eintrag von 443 und das auch wenn SSL im ISPConfig Server beim Client aktiviert ist?
Ich hoffe es findet sich hier jemand, der mir weiterhelfen kann.
Vielen Dank schon mal !

Nachtrag: Ich habe inzwischen einige weitere interessante Postings zum Thema SSL hier gefunden.
Scheinbar trägt ISPConfig Port 80 in die .vhost ein und erst bei erfolgreicher Erstellung eines Lets Encrypt Zertifikats wird Port 443 eingetragen!? Falls dem so ist, warum gibt es dann 2 Buttons - einen für die Aktivierung von SSL und einen für Lets Encrypt?
Da ich Lets Encrypt ja schon über den „Nginx Proxy Manager“ erhalte, benötige ich auf Server Seite nur noch das Lauschen auf Port 443.
Soll ich hierzu einfach in der /etc/apache2/sites-enabled/100-xxx.yyyyyy.de.vhost statt
<VirtualHost *:80>
<VirtualHost *:443>
eintragen - oder wird die .vhost nachträglich noch durch ISPConfig überschrieben?
 
Zuletzt bearbeitet:

Till

Administrator
Warum fehlt der Eintrag von 443 und das auch wenn SSL im ISPConfig Server beim Client aktiviert ist?
Das ist ganz einfach, ein web server wie Apache oder Nginx startet nicht wenn man ihm sagt dass er einen SSL Vhost anlegen soll und es kein SSL Zertifikat gibt. Wenn man also SSL anhakt und es gibt keinerlei Zertifikat, dann erkennt ISPConfig das und fügt denn SSL Vhost nicht ein. Denn andernfalls wäre ja der komplette Server mit allen Websites offline.

Falls dem so ist, warum gibt es dann 2 Buttons - einen für die Aktivierung von SSL und einen für Lets Encrypt?
Das ist auch ganz einfach zu erklären, denn es gibt ja nicht nur Let's encrypt SSL Zertifikate sondern auch noch self-signed SSL Zertifikate und auch gekaufte SSL Zertifikate. Siehe Handbuch!

Zum dem ursprünglichen Problem, einfach jeden Schritt der Let's Encrypt Error FAQ Checkliste durchgehen.


Denn Let's Encrypt hat bestimmte Voraussetzungen die erfüllt sein müssen um ein Zertifikat zu erhalten, und wenn Let's encrypt sich weigert ein Zertifikat auszustellen, dann kann ISPConfig natürlich nicht den SSL Vhost aktivieren. Andernfals wäre ja Dein Server offline.

Mögliche Gründe für Ddas Problem sind dass der Proxy Manager die Validierung der Let's Encrypt Zertifikate blockiert und Du hast ja auch sicherlich einen Router vor dem Proxy und diese blockieren meist die Möglichkeit das ISPConfig selbst Zertifikat Validierungen testen kann, Thema Skip Let's Encrypt check. Steht aber auch alles im Let's Encrypt Error FAQ.

Und ganz allgemein, SSL in kleinen Home setups Terminiert man an sich auf dem Proxy und intern verwendet man kein SSL, da ja dann Let's Encrypt sowieso nicht mehr möglich ist wenn der proxy davor hängt und die auth Requests selbst abfängt.

Ich würde auch keinen proxy manager nehmen, da ISPConfig ja selbst als Proxy verwendet werden kann, ist der einfach überflüssig im Netzwerk und verursacht Probleme. Zumindest wenn es um http und https proxying geht. Und der Proxy verhindert halt das Du alle Funktionen in ISPConfig verwenden kannst.

Soll ich hierzu einfach in der /etc/apache2/sites-enabled/100-xxx.yyyyyy.de.vhost statt
<VirtualHost *:80>
<VirtualHost *:443>
eintragen - oder wird die .vhost nachträglich noch durch ISPConfig überschrieben?
Grundsätzlich niemals Config Dateien manuell ändern. Wenn eine Config nicht geschrieben wird dann hat das gute Gründe. Das manuelle hinzufügen würde zum einen dazu führen dass der web server danach offline ist und zum anderen würden solche Manipulationen in der Config auch automatisch entfernt.
 
Zuletzt bearbeitet:

mediaopten

New Member
Hallo Tim,

zunächst vielen Dank für die ausführlichen Hinweise, welche ich keinesfalls als selbstverständlich betrachte.
Da ich momentan noch andere WebServer hier am Laufen habe, kann ich auf den „Nginx Proxy Manager“ nicht verzichten.

Auf einem dieser WebServer (CentOS) habe ich einen Teil der /etc/httpd/conf.d/vhosts.conf rauskopiert und hier beigefügt. Auf dem Server selbst ist KEIN SSL Zertifikat installiert und trotzdem startet der apache Server. Das Let's Encrypt Zertifikat wird auf dem „Nginx Proxy Manager“ erstellt und die Kommunikation klappt problemlos mit dem WebServer per ssl.

<VirtualHost *:80>
ServerName oxid.loc
ServerAlias www.oxid.loc
DocumentRoot /var/www/vhosts/oxid.loc/httpdocs/source
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/vhosts/oxid.loc/httpdocs/source>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName oxid.loc
ServerAlias www.oxid.loc
DocumentRoot /var/www/vhosts/oxid.loc/httpdocs
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/vhosts/oxid.loc/httpdocs>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
 
Zuletzt bearbeitet:

Till

Administrator
Schau bitte mal in die Apache Doku, dann wirst Du dort die Bestätigung finden von dem was ich Dir gesagt habe und auch dass jeder HTTPS vhost ein zertifikat benötigt. das was dort mit Port 443 steht ist auch ein http vhost auf Port 443 und nicht SSL oder HTTPS. Und ja, Du kannst einen beliebigen Port für einen Vhost angeben, sogar 443 auf HTTP, also ohne SSL.

Ich habe Dir geschrieben wie Du vorgehen musst wenn Du SSL haben möchtest. uch werde hier keinen kostenlosen Kurs in Internet basics geben.
 

mediaopten

New Member
... auch werde hier keinen kostenlosen Kurs in Internet basics geben.
Das habe ich wie gesagt auch nicht erwartet. Vielen Dank nochmals für Deine Hilfe !
 

Werbung

Top