All posts tagged webserver

Hallo zusammen,

in dem heutigen Blogeintrag möchte ich euch zeige wie Ihr unter Ubuntu 16.04 einen einfachen Loadbalancer mit HA-Proxy installieren könnt. Für das Howto habe ich drei Ubuntu 16.04 Server installiert. Zwei Server dienen mir als Webserver und einer als Loadbalancer.

 

 

 

 

 

 

 

Um einen nginx Webserver installieren zu können, benötigt es noch ein paar vorbereitungen.

Nach der Grundinstallation der beiden Webserver, müssen diese auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

Nach dem das System up to date ist, konfiguriert man den beiden Server einee statischen IP-Adresse.
Hier habe ich mich an den Screenshot gehalten, der Webserver 1 bekommt die IP-Adresse 192.168.xxx.101 und der Webserver 2 die IP-Adresse 192.168.xxx.102.

Zur besseren Übersicht habe ich die /var/www/html/index.nginx-debian.html angepasst, damit man diese in den Screenshots besser erkennt.

 

 

 

 

 

Nach dem die Webserver fertig installiert sind und man auf diese sauber zugreifen kann, werden wir den Loadbalancer vorbereiten.

Auch der Loadbalancer muss auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

Nach dem das System up to date ist, konfiguriert man auch dem Loadbalancer eine statischen IP-Adresse. Hier habe ich die IP-Adresse 192.168.xxx.51 benutzt.

Hier ruft man im Webbrowser nun die IP-Adresse (192.168.xxx.51) des Loadbalancer auf, wenn man die Webseite mit F5 refreshed, dann sieht man das Roundrobin verhalten. Wenn man in der /etc/haproxy/haproxy.cfg Konfigurationsdatei den mode auf tcp stellt, dann wird erst dann ein Roundroubin durchgeführt, wenn einer der Webserver down ist.

Dies kann man testen in dem man auf den Webservern den nginx Dienst stoppt. (systemctl stop nginx.service oder service nginx stop)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

So das war es auch schon wieder von mir, viel Spaß beim konfigurieren.

Gruß Helmut

 

 

 

 

 

 

Hallo zusammen,

um einen nginx Webserver installieren zu können, benötigt es ein paar Vorbereitungen.
In diesen Beispiel verwende wir einen Ubuntu 16.04 LTS Server in einer Virtuellen Umgebung.

Nach der Grundinstallation des Servers, muss der Server auf den neusten Stand gebracht werden.
Nach dem Login, wechselt man zum root Benutzer mit:

Nach dem das System up to date ist, konfiguriert man den Server mit einer statischen IP-Adresse.

nginx Webserver installation und überprüfen

Standardverzeichnisse nach der Installation

Grundlegende nginx Befehle

Mit folgenden Befehl überprüft man, ob der nginx Server auf Port 80 lauscht

PID File Anpassung in der nginx.service Datei

Erste Webseite konfigurieren

 

 

 

 

 

Virtuellen Host konfigurieren

 

 

 

 

 

Webserver SSL Zertifikat erstellen

mysite.htdom.local Konfiguration anpassen

Mit folgenden Befehl überprüft man, ob der nginx Server auf Port 80 und 443 lauscht

 

 

 

 

 

 

Um noch mehr Sicherheit in die TLS Verbindung zu bekommen, sollte man das TLS Protokoll und den Schlüsselaustausch (Chiper) eingrenzen.
Dazu gibt es eine sehr gute Webseite von Mozilla, mit dieser Mozilla SSL Configuration Generator kann man sich die passende Konfiguration für seinen Webserver zusammenklicken.

https://mozilla.github.io/server-side-tls/ssl-config-generator/

Modern: Ist Stand heute die sicherste Einstellung, hier wird nur noch TLSv1.2 verwendet
Intermediate: Ist ein kompromiss aus Sicherheit und Kompatibilität, hier wird noch TLSv1 TLSv1.1 TLSv1.2 verwendet.
Old: Ist die schlechterste Wahl, hier wird sogar noch das veraltete SSLv3 verwendet.

Alle heutigen Browser unterstützen bereits TLSv1.2 daher sollte man, wenn möglich Intermediate oder Modern benutzen.
Um die Konfiguration auf der Webseite vornehmen zu können, müssen wir erst die nginx und openssl Version herausfinden, dies funktioniert mit folgenden Befehl.

Und so sieht meine Modern Konfiguration aus

SSL/TLS Verbindungstest kann man auf folgender Webseite durchführen
https://www.ssllabs.com/ssltest/index.html

Wenn man nun die Variante Modern nutzt, könnte die Handshake Simulation wie folgt aussehen.
Alle Browser die kein TLSv1.2 unterstützen, werden abgewiesen, bzw. können keine Verbindung zum Webserver aufbauen.

 

 

 

 

 

 

 

Viel Spaß beim ausprobieren

Gruß Helmut