So aktivieren Sie HTTPS für Lackcache mit Hitch auf CentOS-RHEL 8

So aktivieren Sie HTTPS für Lackcache mit Hitch auf CentOS-RHEL 8

Lackcache fehlt die einheimische Unterstützung für SSL/TLS und andere mit Port verbundene Protokolle 443. Wenn Sie verwenden Lackcache Um die Leistung Ihrer Webanwendung zu steigern, müssen Sie eine andere Software namens ein installieren und konfigurieren SSL/TLS Kündigungsbekenntnis, um mitzuarbeiten Lackcache ermöglichen Https.

Der Anhängerkupplung ist ein kostenloses Open-Source-Basis und ein skalierbares SSL/TLS-Proxy für Lackcache, Das funktioniert derzeit unter Linux, OpenBSD, FreeBSD und MacOSX. Es endet TLS/SSL -Verbindungen, indem es den Port zuhört 443 (Der Standardport für Https Verbindungen) und den unverschlüsselten Verkehr weiter weiterleiten Lackcache, Es sollte jedoch auch mit anderen Backends funktionieren.

Es unterstützt Tls1.2 Und Tls1.3 und Vermächtnis Tls 1.0/1.1, Unterstützung Alpn (Anwendungsschichtprotokollverhandlung) Und Npn (Nächste Protokollverhandlung) für Http/2, Ein Proxy -Protokoll, der Client IP/Port einem Backend, Unix Domain Socket Verbindungen zum Ursprung, Sni (Servernamenanzeige) mit und ohne Wildcard -Zertifikate. Zusätzlich funktioniert es gut für große Installationen, die bisher erforderlich sind 15.000 Hören von Sockeln und 500.000 Zertifikate.

Als Fortsetzung unserer beiden früheren Artikel über die Installation Lackcache für Nginx Und Apache HTTP -Server zeigt diese Anleitung, um aktiviert zu werden Https für Lackcache Verwendung Hitch TLS Proxy An CentOS/Rhel 8.

Logisches Diagramm unseres Setups

In dieser Anleitung wird davon ausgegangen, dass Sie installiert haben Lack für Nginx oder Apache Webserver, ansonsten siehe:

  • So installieren Sie Varnish Cache 6 für den NGINX -Webserver auf CentOS/RHEL 8
  • So installieren Sie Varnish Cache 6 für Apache Web Server auf CentOS/RHEL 8

Schritt 1: Installieren Sie die Probleme auf CentOS/RHEL 8

1. Der Anhängerkupplung Paket ist in der bereitgestellt Epel (Zusätzliche Pakete für Enterprise Linux) Repository. Um es zu installieren, aktivieren Sie zunächst Epel in Ihrem System und dann das Paket danach installieren. Wenn du nicht hast OpenSSL Paket installiert, installieren Sie es auch.

# DNF Installation epel-release # DNF Installieren Sie Hitch OpenSSL 
Installieren Sie die Probleme am CentOS 8

2. Wenn die Paketinstallation abgeschlossen ist, müssen Sie konfigurieren Lackcache arbeiten Anhängerkupplung. Sie müssen auch konfigurieren Anhängerkupplung Um Ihre zu verwenden SSL/TLS Zertifikate und Lack Als ein Backend. Die Hauptkonfigurationsdatei von Hitch befindet sich unter /etc/hitch/hitch.Conf, was unten erklärt wird.

Schritt 2: Konfigurieren von Lackcache für Hitch

3. Als nächstes aktivieren Lack um einen zusätzlichen Port anzuhören (8443 in unserem Fall) mit dem Proxy Protokollunterstützung für Kommunikation mit Anhängerkupplung.

Öffne also den Lack systemd Servicedatei zur Bearbeitung.

# SystemCtl Edit -Full Lack 

Suchen Sie nach der Linie ExecStart und fügen Sie eine zusätzliche hinzu -A Flagge mit dem Wert 127.0.0.1: 8443, Proxy. Unter Verwendung eines Wertes von 127.0.0.1: 8443 bedeutet Lack akzeptiert nur die interne Verbindung (von Prozessen, die auf demselben Server ausgeführt werden i.E HITCH in diesem Fall), aber keine externen Verbindungen.

ExecStart =/usr/sbin/larnishd -a: 80 -a 127.0.0.1: 8443, Proxy -f/etc/varnish/Standard.VCL -S Malloc, 256 m 
Stellen Sie den Lack -Listen -Anschluss für Probleme ein

Speichern Sie die Datei und starten Sie den Lackdienst neu, um die neuesten Änderungen anzuwenden.

# Systemctl Neustart Lack 

Schritt 3: SSL/TLS -Zertifikate erhalten

4. In diesem Abschnitt werden wir erklären, wie das Erstellen der Erstellung SSL/TLS Zertifikatbündel, unter dem man verwendet werden soll Anhängerkupplung. Für diesen Leitfaden erläutern wir die verschiedenen Optionen zur Verwendung eines selbstsignierten Zertifikats, eines kommerziellen Zertifikats oder eines von Lassen Sie uns verschlüsseln.

Um ein selbstsigniertes Zertifikat zu erstellen (das Sie nur in einer lokalen Testumgebung verwenden sollten) können Sie die verwenden OpenSSL Werkzeug.

# mkdir/etc/ssl/tecmint.lan # cd/etc/ssl/tecmint.LAN/ # OpenSSL REQ -X509 -NODES -days 365 -NewKey RSA: 2048 -Keyout Tecmint.Lan.Key -out Tecmint.Lan.crt 

Erstellen Sie dann ein Bündel des Zertifikats und der Schlüssel wie folgt.

# Cat Tecmint.CRT Tecmint.Schlüssel> Tecmint.Pem 

Notiz: Für die Produktionsnutzung können Sie entweder ein Zertifikat von einem Werbespot kaufen Zertifizierungsstelle (Ca) oder ein kostenloses, automatisiertes und vollständig anerkanntes Zertifikat von abrufen Lassen Sie uns verschlüsseln. Erstellen Sie dann ein PEM -Bündel.

Wenn Sie ein Zertifikat von einem Werbespot gekauft haben Ca, Sie müssen den privaten Schlüssel, das Zertifikat und das CA -Bundle wie gezeigt zusammenführen.

# CAT -Beispiel.com.Schlüsselbeispiel.com.CRT -Beispiel.com-ca-bundle.CRT>/etc/ssl/Beispiel.com.Pem 

Für Lassen Sie uns verschlüsseln, Das Zertifikat, der private Schlüssel und die vollständige Kette werden unter gespeichert /etc/letSencrypt/live/Beispiel.com/, Erstellen Sie also das Bundle wie gezeigt.

# Cat/etc/letSencrypt/live/Beispiel.com/fullchain.PEM/etc/letSencrypt/live/Beispiel.com/privkey.PEM>/etc/letSencrypt/live/Beispiel.com/Beispiel.com_bundle.Pem 

Schritt 4: Konfigurieren und Starten von Problemen

5. Konfigurieren Sie als Nächstes Lack als Backend für Anhängerkupplung und geben Sie die an SSL/TLS Zertifikatdateien zu verwenden für Https, im Anhängerkupplung Hauptkonfigurationsdatei, öffnen Sie sie für die Bearbeitung.

# vi/etc/hitch/hitch.Conf 

Der Frontend Abschnitt definiert die IP -Adressen und Hafen Hitch wird sich hören. Die Standardkonfiguration besteht darin, alle anzuhören IPv4 Und IPv6 Auf dem Server angehängte Schnittstellen und Läufe am Port 443 und einkaufen Https Anfragen, sie abgeben Lack.

Ändern Sie den Standard Backend Proxy -Port von 6086 Zu 8443 (Der Port, der verwendet wird, um Anfragen an weiterzuleiten Lack) im Anhängerkupplung Konfigurationsdatei mit der Backend Parameter. Geben Sie auch die Zertifikatdatei mit der PEM-Datei Parameter wie gezeigt.

Backend = "[127.0.0.1]: 8443 " #pem-dir ="/etc/pki/tls/privat "pem-file ="/etc/ssl/tecmint.Lan/Tecmint.Pem " 
Konfigurieren Sie Hitch als SSL/TLS -Proxy für Lack

Speichern Sie die Datei und schließen Sie sie.

6. Beginnen Sie jetzt die Anhängerkupplung Service und ermöglichen es, automatisch am Systemstart zu beginnen. Notiere dass der --Jetzt Wechseln Sie bei Verwendung mit Aktivierung, startet auch einen Systemd -Dienst und überprüfen Sie dann den Status, um festzustellen, ob er wie folgt läuft.

# SystemCTL Enable -Now Hitch # Systemctl Status Hitch 
Überprüfen Sie den Hitch -Status

7. Bevor Sie mit dem Testen fortfahren, wenn Ihre Website/Anwendung jetzt ausgeführt wird Https, Sie müssen das zulassen Https Serviceport 443 in der Firewall, damit Anforderungen für diesen Port auf dem Server die Firewall durchlaufen können.

# Firewall-cmd --zone = public --permanent --add-service = https # Firewall-cmd-Reload 

Schritt 5: Testen von SSL/TLS-Beendigung mit Lack-Cache-Hitch-Setup

8. Es ist jetzt Zeit, die zu testen Lack-Cache-Hitch aufstellen. Öffnen Sie einen Webbrowser und verwenden Https.

https: // www.Beispiel.com oder https: // server_ip/ 

Sobald die Indexseite Ihrer Webanwendung geladen ist, überprüfen Sie die Http Header, um zu bestätigen, dass Inhalte über serviert werden Lackcache.

Klicken Sie dazu mit der rechten Maustaste auf die geladene Webseite, wählen Sie Prüfen Aus der Liste der Optionen zum Öffnen der Entwicklertools. Klicken Sie dann auf die Netzwerk Tab und Neu laden Die Seite, dann wählen Sie eine Anfrage zum Anzeigen der HTTP -Header, wie in den folgenden Screenshot hervorgehoben.

Überprüfen Sie das HTTPS -Setup auf Lackcache

Schritt 6: Umleitung von HTTP in HTTPS im Lackcache umgeleitet

9. Um Ihre Website auszuführen Https Nur müssen Sie alle umleiten Http Verkehr zu Https. Sie können dies tun, indem Sie die folgende Konfiguration in Ihre Hitch -Konfigurationsdatei hinzufügen.

# vi/etc/hitch/hitch.Conf 

Fügen Sie zuerst die Zeile hinzu std importieren; knapp unter VLC 4.0;, Dann suchen Sie nach dem VLC_RECV Unterroutine, die erste VCL -Unterroutine, die unmittelbar danach ausgeführt wird Lackcache hat die Client -Anfrage in seine grundlegende Datenstruktur analysiert. Hier können wir die Anforderungsheader ändern und einen Synthesizer ausführen, um Client -Anfragen umzuleiten.

Ändern Sie es so, dass es so aussieht.

sub vcl_recv if (std.Port (Server.IP) != 443) set req.http.location = "https: //" + req.http.Host + Req.URL; return (synth (301));  

Notiere dass der Proxy Protokoll ermöglicht Lack um zu sehen Hitchs Höranschluss 443 von dem Server.IP Variable. Also die Linie std.Port (Server.IP) Gibt die Portnummer zurück, auf die die Client -Verbindung empfangen wurde.

Wenn der Port nicht ist 443 für Https (wie überprüft von (std.Port (Server.IP) != 443)), die Unterroutine setzt den Anforderungs -HTTP -Standort -Header (Header (Setzen Sie req.http.Standort) zu einer sicheren Anfrage (“(“https: //” + Req.http.Gastgeber + Req.URL) Bitten Sie einfach den Webbrowser, a zu laden Https Version der Webseite (ich.E URL -Umleitung).

Der Standort Der Kopf wird an die gesendet vcl_synth Unterroutine (die benannt wird return (synth (301))) mit einem HTTP -Statuscode von 301 (Dauerhaft umgezogen).

10. Fügen Sie als nächstes Folgendes hinzu vcl_synth subroutine (Einer seiner vielen Verwendungsfälle ist die Umleitung von Benutzern), um den obigen Synthesizer zu verarbeiten.

sub vcl_synth if (resp.Status == 301) set resp.http.Ort = Req.http.Standort; set resp.Status = 301; Rückgabe (liefern);  

Es prüft, ob der Antwortstatus ist 301, Der HTTP -Standort -Header in der Antwort wird in der Anforderung auf den HTTP -Standort -Header eingestellt.

Die Lieferaktion erstellt eine Antwort mit der Antwort aus dem Backend, speichert die Antwort im Cache und sendet sie an den Client.

Konfigurieren Sie Hitch, um HTTP in HTTPS umzuleiten

Speichern Sie die Datei und schließen Sie sie.

11. Wenden Sie erneut die neuen Änderungen in der Lackkonfiguration an, indem Sie den Dienst neu starten. Verwenden Sie dann das Curl-Befehlszeilen-Tool, um die Umleitung von zu bestätigen Http Zu Https.

# SystemCTL Neustart Lack # curl -i http: // esexmple.com/ 
Überprüfen Sie die HTTP auf HTTPS -Umleitung

Aus dem Browser ist die Antwort auch die gleiche wie im folgenden Screenshot gezeigt.

Überprüfen Sie die HTTP auf HTTPS -Umleitung im Browser

Wir hoffen, dass bis zu diesem Punkt alles gut funktioniert hat. Wenn nicht, geben Sie einen Kommentar oder Fragen über das folgende Feedback -Formular ab. Für alle erweiterten Konfigurationsoptionen gehen.