Page 1 of 1

Proxy über Keyhelp zu zweiten Server möglich?

Posted: Mon 2. Mar 2020, 17:11
by trollolol
Hallo ihr lieben, ich muss euch nochmal um Rat fragen.

Folgende Konstellation:
1 vServer mit korrekten DNS Einstellungen nur über Domain sub1.meinedomain.tld erreichbar, auf diesem Server läuft eine Webanwendung die über sub1.meinedomain.tld:8887 erreichbar ist.

1 Server auf dem KH auch korrekt läuft und auch korrekt eingerichtet ist

Nun würde ich gern auf dem 1 Server der nur über die Subdomain erreichbar ist das lets encrypt Zertifikat installieren. Hier wird vom Entwickler empfohlen das über Reverse Proxy zu tun, da man dann alles Zentral steuern kann. Die Frage wäre jetzt ob ich das dann in die Apache Einstellungen der Domain einfügen kann, wenn ja wie sollte der Eintrag aussehen? Zu meiner Schande muss ich gestehen, das ich mich noch nie mit Proxy befasst habe.

Wenn nein, wo muss ich da rumschrauben? Ich möchte auch nicht das Einstellungen durch ein Update dann verloren gehen.

Liebe Grüße

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Mon 2. Mar 2020, 17:35
by Jolinar
trollolol wrote: Mon 2. Mar 2020, 17:11 Zu meiner Schande muss ich gestehen, das ich mich noch nie mit Proxy befasst habe.
Dann lies dich bitte zuerst in die Thematik ein. Erste Anlaufstelle: https://www.google.de/search?q=apache+reverse+proxy
Wenn du dann spezifische Fragen zum Thema hast oder irgendwas in deiner Konfiguration noch nicht funktioniert, stehen wir dir gern zur Seite.
Es bringt dir nämlich nichts, wenn du nicht verstehst, was du da machst. Davon abgesehen ist die Community nicht dafür da, deine Arbeit zu machen und dir fertige Lösungen zu präsentieren.

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Mon 2. Mar 2020, 19:31
by trollolol
Hallo und guten abend,

nein, so sollte das nicht gemeint sein. Ich hab mich wohl falsch ausgedrückt. Ich habe nur 2 Fragen zu dieser Thematik: Werden die Apache Anweisungen über die Domaineinstellungen in <Virtualhost> - Tags gepackt oder kann ich die direkt so reinpinseln? Und die zweite Frage: Werden die Einstellungen dann auch geladen oder funktioniert das auch nicht (SSL Einstellungen - früherer Post von mir).

Denn - wenn ich richtig gelesen habe - werden die Einstellungen nicht auf Ihre Syntax überprüft und wenn es schief läuft dann startet Apache nicht mehr. DAS ist das einzige was ich verhindern möchte :)

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Mon 2. Mar 2020, 19:34
by Jolinar
trollolol wrote: Mon 2. Mar 2020, 19:31 Werden die Apache Anweisungen über die Domaineinstellungen in <Virtualhost> - Tags gepackt oder kann ich die direkt so reinpinseln?
Natürlich ist der Weg übers Panel zu präferieren, denn nur dann sind individuelle Einstellungen auch updateresistent.

trollolol wrote: Mon 2. Mar 2020, 19:31 Denn - wenn ich richtig gelesen habe - werden die Einstellungen nicht auf Ihre Syntax überprüft und wenn es schief läuft dann startet Apache nicht mehr. DAS ist das einzige was ich verhindern möchte :)
Dafür testet man auf einer lokalen Testumgebung...gerade dann, wenn das Thema noch neu ist. ;)

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Tue 3. Mar 2020, 00:57
by george
Auch ich war ein wenig besorgt, aufgrund der Warnung Richtlinien hinzuzufügen.
Die Richtlinien werden hier hinzugefügt:

KeyHelp Admin: Domains / Domain bearbeiten > Apache-Einstellungen

Diese Direktiven werden in /etc/apache2/keyhelp/custom_vhosts im Format user_domain.conf gespeichert.
Sie werden auch in der Keyhelp-Datenbank gespeichert, was mich beunruhigt hat. Im Falle eines Problems konnte ich diese Dateien (custom_vhosts) löschen, aber ich wollte nicht mit der Keyhelp-Datenbank spielen.

LÖSUNG:

Es gibt einen netten Trick, um Probleme zu vermeiden:

1. Fügen Sie Ihre Direktiven in eine leere Datei ein und speichern Sie sie in:

Code: Select all

/home/users/$USER/files/file.conf
Hinweis: Ersetzen Sie $USER durch Ihren Benutzer und benennen Sie die Datei nach Belieben mit der Endung .conf

2. Auf KeyHelp Admin gehen Sie zu:

Domains / Domain bearbeiten > Apache-Einstellungen

Fügen Sie diese eine Zeile hinzu:

Code: Select all

IncludeOptional /home/users/$USER/files/file.conf
- ersetzen Sie $USER durch Ihren Benutzer und verwenden Sie den tatsächlichen Namen der Datei, die Sie gespeichert haben.

3. Apache neu starten

Wenn es nun Probleme gibt, können Sie die Datei, unter der Sie gespeichert sind, mit SSH löschen:
/home/benutzer/$USER/dateien/file.conf

und Apache neu starten - alles gut!

Als zusätzlichen Bonus können Sie die Direktiven jetzt zu einem oder allen vhosts hinzufügen, indem Sie einfach die eine Zeile IncludeOptional /home/users/$USER/files/file.conf hinzufügen.
Sie können auch die Direktiven für alle vhosts ändern, indem Sie einfach die Datei ONE /home/users/$USER/files/file.conf bearbeiten.

Viel Spaß! :D

Übersetzt mit www.DeepL.com/Translator (kostenlose Version)

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Thu 5. Mar 2020, 21:55
by trollolol
Hallo george ;)

das ist ja mal eine perfekte Lösung :) Sorry das ich jetzt erst antworte, aber hatte viel um die Ohren in den letzten Tagen. Ich werde diesen Tipp nächste woche gleich mal ausprobieren und dann Bescheid geben ob es geklappt hat :)

Liebe Grüße

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Thu 5. Mar 2020, 22:28
by george
Hallo Trollolol, es sollte in Ordnung sein, meins funktioniert perfekt und ich habe den Server nur einmal heruntergefahren - aber nachdem ich meine schlechten Direktiven korrigiert und Apache neu gestartet habe, kam er sofort wieder zurück. Zu einfach...

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Mon 16. Mar 2020, 13:37
by trollolol
george wrote: Thu 5. Mar 2020, 22:28 Hallo Trollolol, es sollte in Ordnung sein, meins funktioniert perfekt und ich habe den Server nur einmal heruntergefahren - aber nachdem ich meine schlechten Direktiven korrigiert und Apache neu gestartet habe, kam er sofort wieder zurück. Zu einfach...
Also der Tipp funktioniert erst einmal super :) - Vielen Dank dafür.

Allerdings scheint es nicht so zu klappen wie ich es gern hätte :( - ich bekomme die Fehlermeldung in den Serverlogs:

Code: Select all

syntaxerror in apache configfile -> exec "apachectl configtest" for further information. 
Ein weiteres:

Code: Select all

root@server1:/home/server1# apachectl configtest
bash: apachectl: command not found
Die Include - Anweisung habe ich genauso eingegben wie Du geschrieben hast

Hier mal der Inhalt meiner Datei:

Code: Select all

<VirtualHost *:80>
    ServerName ts3.meinedomain.de

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName ts3.meinedomain.de

    SSLEngine On
    SSLCertificateFile    /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/cert.pem
    SSLCertificateKeyFile /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/private.pem
    SSLCertificateChainFile /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/fullchain.pem

    ProxyPass / http://ts3.meinedomain.de:8087/
    ProxyPassReverse / http://ts3.meinedomain.de:8087/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Re: Proxy über Keyhelp zu zweiten Server möglich?

Posted: Mon 16. Mar 2020, 13:47
by OlliTheDarkness
trollolol wrote: Mon 16. Mar 2020, 13:37
george wrote: Thu 5. Mar 2020, 22:28 Hallo Trollolol, es sollte in Ordnung sein, meins funktioniert perfekt und ich habe den Server nur einmal heruntergefahren - aber nachdem ich meine schlechten Direktiven korrigiert und Apache neu gestartet habe, kam er sofort wieder zurück. Zu einfach...
Also der Tipp funktioniert erst einmal super :) - Vielen Dank dafür.

Allerdings scheint es nicht so zu klappen wie ich es gern hätte :( - ich bekomme die Fehlermeldung in den Serverlogs:

Code: Select all

syntaxerror in apache configfile -> exec "apachectl configtest" for further information. 
Ein weiteres:

Code: Select all

root@server1:/home/server1# apachectl configtest
bash: apachectl: command not found
Die Include - Anweisung habe ich genauso eingegben wie Du geschrieben hast

Hier mal der Inhalt meiner Datei:

Code: Select all

<VirtualHost *:80>
    ServerName ts3.meinedomain.de

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>

<VirtualHost *:443>
    ServerName ts3.meinedomain.de

    SSLEngine On
    SSLCertificateFile    /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/cert.pem
    SSLCertificateKeyFile /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/private.pem
    SSLCertificateChainFile /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/fullchain.pem

    ProxyPass / http://ts3.meinedomain.de:8087/
    ProxyPassReverse / http://ts3.meinedomain.de:8087/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Denkfehler deinerseits =)
Du Includierst in einen vorhandenen Block also müsste deine Config so aussehen:

Code: Select all

    SSLEngine On
    SSLCertificateFile    /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/cert.pem
    SSLCertificateKeyFile /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/private.pem
    SSLCertificateChainFile /etc/ssl/keyhelp/letsencrypt/meinedomain/meinedomain.de/fullchain.pem

    ProxyPass / http://ts3.meinedomain.de:8087/
    ProxyPassReverse / http://ts3.meinedomain.de:8087/
Die <VirtualHost *:443> </VirtualHost> kannst dir getrost sparen beim Include.

In die Include Datei kommen die selben Befehle wie du sie auch im Panel in der Apache Config eintragen würdest 8-)
Weil es ist das selbe, nur mit dem Vorteil das im Edit Fall die Config auf dem Webspace ändern kannst anstatt dich ins Panel einzuloggen.

Wenn ich jetzt grad scheiße laber und irgendwas total falsch verstanden hab, bitte ich um Nachsicht :D
Scheiß Nacht gehabt :D