Kerio Server hinter einem Nginx Reverse Proxy Server: Unterschied zwischen den Versionen

Aus Privates Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Kerio Server hinter einem Nginx Reverse Proxy Server
Kerio Server hinter einem Nginx Reverse Proxy Server
Zur Navigation springen
Zur Suche springen


Vorraussetzung ist, dass der Nextcloudserver schon nach folgender Anleitung installiert wurde: Installation Nextcloud unter Ubuntu 22.04 LTS
 
Das Folgende ist nur notwendig, wenn auch aus dem internen Netz auf den Nextcloudserver über die öffentliche URL zugegriffen werden soll.
Vorraussetzung ist, dass der Kerioserver schon fertig installiert ist und einmal ein Let´s Encrypt Zertikat über die standardmäßige Vorgehensweise installiert wurde.
Das heisst der Kerioserver konnte über Port 80 und 443 erreicht werden und ein Let´s Encrypt Zertikat wurde über den internen Mechanismus zur SSL Zertifkat erstellen beschafft.
 
Das Folgende ist nur notwendig, wenn auch aus dem internen Netz auf den Kerioserver über die öffentliche URL zugegriffen werden soll.
Der externe Zugriff, d.h aus dem Internet, funktioniert auch ohne das Nachfolgende.
Der externe Zugriff, d.h aus dem Internet, funktioniert auch ohne das Nachfolgende.


Wenn der Nextcloudserver hinter einem Reverse Proxy Server steht kann er sich nicht selber um die Beschaffung eines Letsencrypt Zertfikats kümmern, da der Router die notwendigen Ports 80 und 443 nur auf einen Server portforwarden kann.
Wenn der Kerioserver hinter einem Reverse Proxy Server steht kann er sich nicht selber um die Beschaffung eines Letsencrypt Zertfikats kümmern, da der Router die notwendigen Ports 80 und 443 nur auf einen Server portforwarden kann.


Deshalb benötigt man einen Mechanismus, die Zertifikate, die der Reverse Proxy Server für den Nextcloud Server beschafft hat und in Zukunft auch regelmäßig erneuern wird, auf den Nextcloud Server zu übertragen.
Deshalb benötigt man einen Mechanismus, die Zertifikate, die der Reverse Proxy Server für den Kerio Server beschafft hat und in Zukunft auch regelmäßig erneuern wird, auf den Kerioserver zu übertragen.


Wird das nicht gemacht, bekommen Clients aus dem internen Netz eine Zertifikatswarnung sobald das ursprüngliche evtl. bei der Installation erzeugte Zertifikat des Nextcloudservers abläuft.
Wird das nicht gemacht, bekommen Clients aus dem internen Netz eine Zertifikatswarnung sobald das ursprüngliche evtl. bei der Installation erzeugte Zertifikat des Nextcloudservers abläuft.




Da aber bekannt ist, wo das Zertikat für den Nextcloudserver auf dem Reverse Proxy abgelegt ist, kann es über ein Bash Script einfach perodisch per cronjob and die richtige Stelle auf den Nextcloudserver kopiert werden.
Da aber bekannt ist, wo das Zertikat für den Kerio auf dem Reverse Proxy abgelegt ist, kann es über ein Bash Script einfach perodisch per cronjob and die richtige Stelle auf den Nextcloudserver kopiert werden.


Folgend Vorgehensweise führt zum Ziel:
Folgend Vorgehensweise führt zum Ziel:
Einrichten eines SSH Zugriffs vom Nextcloudserver (NCS) auf den Reverse Proxy Server (RPS)
Einrichten eines SSH Zugriffs vom Kerioserver  auf den Reverse Proxy Server (RPS)


    Gernerieren eines Schlüsselpaares auf dem NCS als root
auf dem Revers Proxserver muss zuerst den Root Login freigeschaltet werden
in /etc/ssh/sshd_config die Option PermitRootLogin yes setzen
dann am besten kurz rebooten


ssh-keygen -t rsa


Gernerieren eines Schlüsselpaares auf dem Kerio als root


    Kopieren des öffentlichen Schlüssels vom NCS auf den RPS
ssh-keygen -t rsa


ssh-copy-id root@RPS


Letsencrypt Zertifkate per Cronjob von RPS auf den NCS übertragen
Kopieren des öffentlichen Schlüssels vom NCS auf den RPS
 
ssh-copy-id root@RPS
 
Letsencrypt Zertifkate per Cronjob von RPS auf den Kerio übertragen


Die Quelle und das Ziel den entsprechnenden Gegebenheiten anpassen
Die Quelle und das Ziel den entsprechnenden Gegebenheiten anpassen


    Script für den Kopierjob erstellen
Script für den Kopierjob erstellen
 
nano /usr/local/bin/cp-le-certs.sh


nano /usr/local/bin/cp-le-certs.sh


#! /bin/sh
scp root@RPS:/npm/letsencrypt/live/npm-3/privkey.pem /opt/kerio/mailserver/sslcert/server.key
scp root@RPS:/npm/letsencrypt/live/npm-3/fullchain.pem /opt/kerio/mailserver/sslcert/server.crt
service kerio-connect restart</br>
!!! Script Ausführbar machen


#! /bin/sh
cronjob für regelmässigen Abgleich anlegen
scp root@RPS:/npm/letsencrypt/live/npm-1/*.pem /etc/letsencrypt/live/Domainbezeichnung
/etc/init.d/apache2 restart


    cronjob für regelmässigen Abgleich anlegen
crontab -e


crontab -e
# taeglich um 3:03 Uhr die aktuellen Letsencrypt Zertifikate vom Reverse ProxyServer holen
3 3 * * * /usr/local/bin/cp-le-certs.sh > /dev/null 2>&1


# taeglich um 3:03 Uhr die aktuellen Letsencrypt Zertifikate vom Reverse ProxyServer holen
3 3 * * * /usr/local/bin/cp-le-certs.sh > /dev/null 2>&1


Erweitern der /etc/hosts auf dem Nextcloud Server zur Umgehung des Timeout Gateway 504 Fehlers
Erweitern der /etc/hosts auf dem Kerio Server zur Umgehung des Timeout Gateway 504 Fehlers


     lokale IP Adresse -> Domainname der Nextcloud Instanz
     lokale IP Adresse -> Domainname der Kerio Instanz
     Beispiel:
     Beispiel:


192.168.4.5 nextcloud.stoehr-hermaringen.de
192.168.4.5 kerio.stoehr-hermaringen.de

Aktuelle Version vom 30. November 2023, 14:26 Uhr

Kerio Server hinter einem Nginx Reverse Proxy Server


Vorraussetzung ist, dass der Kerioserver schon fertig installiert ist und einmal ein Let´s Encrypt Zertikat über die standardmäßige Vorgehensweise installiert wurde. Das heisst der Kerioserver konnte über Port 80 und 443 erreicht werden und ein Let´s Encrypt Zertikat wurde über den internen Mechanismus zur SSL Zertifkat erstellen beschafft.

Das Folgende ist nur notwendig, wenn auch aus dem internen Netz auf den Kerioserver über die öffentliche URL zugegriffen werden soll. Der externe Zugriff, d.h aus dem Internet, funktioniert auch ohne das Nachfolgende.

Wenn der Kerioserver hinter einem Reverse Proxy Server steht kann er sich nicht selber um die Beschaffung eines Letsencrypt Zertfikats kümmern, da der Router die notwendigen Ports 80 und 443 nur auf einen Server portforwarden kann.

Deshalb benötigt man einen Mechanismus, die Zertifikate, die der Reverse Proxy Server für den Kerio Server beschafft hat und in Zukunft auch regelmäßig erneuern wird, auf den Kerioserver zu übertragen.

Wird das nicht gemacht, bekommen Clients aus dem internen Netz eine Zertifikatswarnung sobald das ursprüngliche evtl. bei der Installation erzeugte Zertifikat des Nextcloudservers abläuft.


Da aber bekannt ist, wo das Zertikat für den Kerio auf dem Reverse Proxy abgelegt ist, kann es über ein Bash Script einfach perodisch per cronjob and die richtige Stelle auf den Nextcloudserver kopiert werden.

Folgend Vorgehensweise führt zum Ziel: Einrichten eines SSH Zugriffs vom Kerioserver auf den Reverse Proxy Server (RPS)

auf dem Revers Proxserver muss zuerst den Root Login freigeschaltet werden

in /etc/ssh/sshd_config die Option PermitRootLogin yes setzen
dann am besten kurz rebooten


Gernerieren eines Schlüsselpaares auf dem Kerio als root

ssh-keygen -t rsa


Kopieren des öffentlichen Schlüssels vom NCS auf den RPS

ssh-copy-id root@RPS

Letsencrypt Zertifkate per Cronjob von RPS auf den Kerio übertragen

Die Quelle und das Ziel den entsprechnenden Gegebenheiten anpassen

Script für den Kopierjob erstellen

nano /usr/local/bin/cp-le-certs.sh


#! /bin/sh
scp root@RPS:/npm/letsencrypt/live/npm-3/privkey.pem /opt/kerio/mailserver/sslcert/server.key
scp root@RPS:/npm/letsencrypt/live/npm-3/fullchain.pem /opt/kerio/mailserver/sslcert/server.crt
service kerio-connect restart
!!! Script Ausführbar machen

cronjob für regelmässigen Abgleich anlegen

crontab -e
# taeglich um 3:03 Uhr die aktuellen Letsencrypt Zertifikate vom Reverse ProxyServer holen
3 3 * * * /usr/local/bin/cp-le-certs.sh > /dev/null 2>&1


Erweitern der /etc/hosts auf dem Kerio Server zur Umgehung des Timeout Gateway 504 Fehlers

   lokale IP Adresse -> Domainname der Kerio Instanz
   Beispiel:

192.168.4.5 kerio.stoehr-hermaringen.de