GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Installieren Sie ein SSL-Zertifikat

Nachdem Sie eine Certificate Signing Request (CSR) generiert und ein Secure Socket Layer (SSL)-Zertifikat gekauft oder erneuert haben, müssen Sie es installieren. Dieser Artikel zeigt Ihnen, wie Sie ein SSL-Zertifikat auf verschiedenen Servern und Betriebssystemen installieren.

Wenn Sie ein SSL-Zertifikat auf einem Load Balancer installieren möchten, finden Sie weitere Informationen unter SSL-Zertifikate auf Cloud Load Balancern konfigurieren.

Die folgenden Abschnitte enthalten Anweisungen für den Installationsprozess je nach Plattform:

  • Voraussetzungen

  • Zertifikat auf Microsoft® Windows® 2008 R2- und 2012-Servern installieren

  • Installieren Sie das Zertifikat in Apache Web Server

  • Installieren Sie das Zertifikat in NGINX mit php-fpm

  • Zertifikat auf Managed Hosting-Lösungen installieren

  • Installieren Sie das Zertifikat in einer benutzerdefinierten Microsoft® Azure®-Domäne

  • Testen Sie das Zertifikat

Nachdem Sie Ihr Zertifikat installiert haben, sollten Sie Ihren Webserverdienst neu laden.

Voraussetzungen

Stellen Sie vor der Installation Ihres Zertifikats sicher, dass Sie über die folgenden Elemente verfügen:

  • Ein Zertifikat Ihres bevorzugten SSL-Anbieters, das auf Ihrem Server gespeichert ist. Wenn Sie noch kein Zertifikat haben, finden Sie Anweisungen unter CSR generieren und SSL-Zertifikat erwerben oder erneuern.

  • Das Paket der Zertifizierungsstelle (CA) mit den Stamm- und Zwischenzertifikaten, die vom SSL-Anbieter bereitgestellt werden.

  • Der .key Datei, die beim Erstellen der CSR generiert wurde.

  • Ein installierter Webserver wie Apache oder NGINX.

  • Eine Internet Protocol (IP)-Adresse für Ihr SSL-Zertifikat.

Kopieren Sie die Dateien in den Standardspeicherort auf Ihrem Server

Ein vom Anbieter bereitgestelltes SSL-Zertifikat enthält drei Komponenten:das SSL-Zertifikat, die CA-Datei und den SSL-Schlüssel. Wenn Sie Ihr SSL-Zertifikat von Ihrer Zertifizierungsstelle erhalten haben, laden Sie es mithilfe der folgenden Schritte auf Ihren Server hoch:

  1. Kopieren Sie den gesamten Inhalt des Zertifikats, einschließlich des BEGIN CERTIFICATE und END CERTIFICATE Linien. Speichern Sie den kopierten Text als domain.com.crt .

  2. Kopieren Sie das Zertifikat und den privaten Schlüssel in das Serververzeichnis, in dem Sie Ihre Zertifikate speichern möchten. Die standardmäßigen Apache-Verzeichnisse sind beispielsweise:/usr/local/apache/conf/ssl.crt/ oder/etc/httpd/conf/ssl.crt/ .

Zertifikat auf Windows-Servern installieren

Die folgenden Abschnitte zeigen Ihnen, wie Sie ein SSL-Zertifikat auf Windows-Servern installieren und binden, indem Sie den Internet Information Services (IIS) Manager verwenden.

Installieren Sie das Zertifikat

Voraussetzung:Sie sollten bereits über das von Ihrem bevorzugten SSL-Anbieter bereitgestellte Zertifikat verfügen.

Wenn Sie Ihre CSR mit etwas anderem als IIS erhalten haben, fahren Sie mit SSL-Zertifikat von einem anderen Server importieren fort.

Führen Sie die folgenden Schritte aus, wenn Sie Ihre CSR mithilfe von IIS erhalten haben, das den öffentlichen Schlüssel Ihres Anbieters mit dem von IIS generierten privaten Schlüssel koppelt.

  1. Wählen Sie im IIS-Manager den Server aus und doppelklicken Sie auf Serverzertifikate .
  2. Unter Aktionen , klicken Sie auf Zertifikatsanforderung abschließen .
  3. Wählen Sie im Assistenten den Speicherort der von Ihrem SSL-Anbieter bereitgestellten Zertifikatsdatei aus.
  4. Nur für Windows Server® 2012 , benennen Sie die Datei und wählen Sie Ihren Speicherort.
  5. Klicken Sie auf OK .

Importieren Sie ein SSL-Zertifikat von einem anderen Server

  1. Doppelklicken Sie im IIS-Manager auf Serverzertifikate .
  2. Unter Aktionen , klicken Sie auf Importieren .
  3. Wählen Sie den Speicherort Ihrer Zertifikatsdatei aus, geben Sie das Kennwort ein (falls Sie „one“ festgelegt haben) und wählen Sie den Speicherort für Ihr Zertifikat (nur Windows Server 2012). ).
  4. Klicken Sie auf OK .

Richten Sie die Bindungen ein

  1. Klicken Sie im IIS-Manager mit der rechten Maustaste auf Ihre Website und wählen Sie Bindungen bearbeiten aus .
  2. In den Site-Bindungen Klicken Sie im Fenster auf Hinzufügen .
  3. Im Websitebindung hinzufügen Führen Sie im Dialogfeld die folgenden Schritte aus:a. Legen Sie den Wert von Typ fest zu https .b. Für nur Windows Server 2012 , geben Sie bei Bedarf den Hostnamen an.c. Aus dem SSL-Zertifikat Liste, wählen Sie Ihr Zertifikat aus.d. Klicken Sie auf OK .

Nachdem Sie die Bindungen eingerichtet haben, werden die Websitebindungen Fenster zeigt die Bindung für HTTPS.

Zertifikat im Apache-Webserver installieren

Die folgenden Abschnitte zeigen Ihnen, wie Sie ein SSL-Zertifikat auf Apache-Webservern installieren und binden

HINWEIS: Beachten Sie, dass die Befehle vom Root-Benutzer ausgeführt werden. Wenn Sie keinen Zugriff auf den Root-Benutzer, aber sudo-Berechtigungen haben, verwenden Sie den sudo-Befehl am Anfang jeder Zeile.

Voraussetzung

Der erste Schritt beim Hinzufügen eines Vhosts besteht darin, sicherzustellen, dass auf dem Server Apache installiert ist und ausgeführt wird. Dies kann mit den folgenden Befehlen erfolgen. (Wenn Sie bereits wissen, dass der Apache läuft, können Sie diesen Schritt überspringen).

RHEL 6/CentOS 6
$ service httpd status
RHEL 7/CentOS 7+
$ systemctl status httpd  
Debian 8+/Ubuntu 16+
$ systemctl status apache2

Wenn Apache nicht installiert ist, erhalten Sie zu diesem Zeitpunkt eine Fehlermeldung, dass der Prozess nicht gefunden werden kann. Sie können mit dem folgenden Befehl überprüfen, ob der Server Apache ausführt:

$ netstat -plnt | awk '$4 ~ /:(80|443)$/'

Wenn Sie feststellen, dass Apache nicht auf dem Server ausgeführt wird, ist dies nicht die richtige Option für Sie. Bitte versuchen Sie es mit einem anderen in diesem Artikel aufgeführten Prozess.

Überprüfen Sie, ob das SSL-Apache-Modul verfügbar ist

mod_ssl ist ein optionales Modul für den Apache HTTP Server. Es bietet starke Kryptografie für den Apache-Webserver. Ohne dies kann der Apache-Webserver keine SSL-Verschlüsselung verwenden oder bereitstellen.

Um zu überprüfen, ob das SSL-Modul aktiviert wurde, führen Sie den folgenden Befehl aus, um welches Betriebssystem Sie verwenden:

RHEL/CentOS
$ httpd -M | grep ssl

Wenn keine Ausgabe empfangen wird, muss mod_ssl (shared) installiert werden, um SSL-Verkehr bereitzustellen.

Führen Sie den folgenden Befehl aus, um mod_ssl zu installieren:

# For RHEL 7/ CentOS 7
$ yum install mod_ssl

# For RHEL 8/ CentOS 8 / Alma Linux / Rocky Linux.
$ dnf install mod_ssl

Um zu überprüfen, ob das SSL-Modul aktiviert wurde, führen Sie den folgenden Befehl aus:

$ apachectl -M | grep ssl
 ssl_module (shared)
Debian/Ubuntu

Um zu überprüfen, ob das SSL-Modul aktiviert wurde, führen Sie den folgenden Befehl aus:

$ apachectl -M | grep ssl
 ssl_module (shared)

Wenn keine Ausgabe angezeigt wird, wird die Datei mod_ssl (shared) erfordert die Aktivierung, um SSL-Datenverkehr bereitzustellen. Führen Sie den folgenden Befehl aus, um mod_ssl zu aktivieren

$ a2enmod ssl

Sobald mod_ssl installiert wurde, erfordert Apache einen Neustart, um es zu aktivieren. Führen Sie den entsprechenden Verteilungsbefehl aus, um Apache neu zu starten. Sie finden ihn im Abschnitt Webserver neu laden oder neu starten.

Installieren und sichern Sie SSL-Komponenten auf dem Server

Jetzt haben Sie das SSL-Zertifikat , Privater Schlüssel und CA-Paket Sie können diese Zertifikate jetzt zum Server hinzufügen. Die Best Practices schreiben vor, dass die Zertifikate benannt werden (Ablaufjahr-Domain, z. B.:2022-example.com.crt) und an den folgenden Orten gespeichert werden.

RHEL/CentOS

Erstellen Sie mit Ihrem bevorzugten Texteditor neue Dateien an den unten angegebenen Speicherorten. Stellen Sie sicher, dass Sie example.com in den Namen der Domain auf dem Server ändern.

SSL Certificate - /etc/pki/tls/certs/2022-example.com.crt
SSL CA Bundle  - /etc/pki/tls/certs/2022-example.com.CA.crt
SSL Private Key - /etc/pki/tls/private/2022-example.com.key
Debian/Ubuntu

Erstellen Sie mit Ihrem bevorzugten Texteditor neue Dateien an den unten angegebenen Speicherorten. Stellen Sie sicher, dass Sie example.com in den Namen der Domain auf dem Server ändern.

SSL-Zertifikat – /etc/ssl/certs/2022-example.com.crtSSL CA-Paket – /etc/ssl/certs/2022-example.com.CA.crtSSL Privater Schlüssel – /etc/ssl/private/2022-example. com.key

HINWEIS: Wenn ein privater Schlüssel mit weltweit lesbaren Berechtigungen installiert wird, kann jeder mit Zugriff auf sogar ein Benutzerkonto auf dem Server alle mit dem entsprechenden Zertifikat verschlüsselten Informationen entschlüsseln. Es ist wichtig sicherzustellen, dass das Zertifikat und der Schlüssel die richtigen Berechtigungen haben.

Nachdem die SSL-Zertifikatskomponenten an den richtigen Stellen installiert wurden, ist es wichtig, dass wir die richtigen Berechtigungen für die private Schlüsseldatei festlegen.

$ chmod 600 /path/to/private/key/file.key

VirtualHost-Datei erstellen oder ändern

RHEL/CentOS

Virtuelle Hostdateien spezifizieren die Konfiguration unserer separaten Sites und bestimmen, wie der Apache-Webserver auf verschiedene Domänenanfragen reagiert.

Die Best Practice von Rackspace schreibt vor, dass sich der virtuelle Host an den folgenden Orten befindet:

  • /etc/httpd/conf.d/example.com.conf

Alternative Speicherorte für Apache Virtual Host können sein:

  • /etc/httpd/conf/httpd.conf (Standard-Apache-Konfigurationsdatei, die auch ausgiebig von Webmin verwendet wird)
  • /etc/httpd/conf.d/ssl.conf (globale Standardkonfigurationsdatei für SSL)
  • /etc/httpd/vhost.d/example.com.conf (vhost.d ist ein von Benutzern erstelltes Verzeichnis und obwohl es einigermaßen üblich ist, ist es nicht die beste Vorgehensweise)

HINWEIS: :Aufgrund der beschriebenen Konfigurationen müssen alle virtuellen Hostdateien auf .conf enden. Für die Zwecke dieses Beispiels gehen wir davon aus, dass ein virtueller Host für Port 80 bereits in seiner eigenen Konfigurationsdatei existiert.

Öffnen Sie zunächst die virtuelle Hostdatei in Ihrem bevorzugten Texteditor:

$ vim /etc/httpd/conf.d/example.com.conf

Wenn der Port 80 Virtual Host von Rackspace konfiguriert wurde, wäre in den meisten Fällen ein Dummy-443-Block als Platzhalter erstellt worden. In diesem Fall können Sie das Kommentarzeichen am Anfang jeder Zeile entfernen und den Abschnitt nach Bedarf ändern.

Es gibt ein paar Dinge zu überprüfen:

  • ServerName/ServerAlias-Übereinstimmungen für Ihre Domain
  • Der DocumentRoot entspricht dem Port-80-Block
  • Der Verzeichnisabschnitt entspricht dem Port 80-Block

Fügen Sie für den Block 443 Folgendes in Ihren virtuellen Host ein:

SSLEngine on
SSLCertificateFile      /etc/pki/tls/certs/2022-example.com.crt
SSLCertificateChainFile /etc/pki/tls/certs/2022-example.com.CA.crt
SSLCertificateKeyFile   /etc/pki/tls/private/2022-example.com.key
Debian/Ubuntu

Virtuelle Hostdateien spezifizieren die Konfiguration unserer separaten Sites und bestimmen, wie der Apache-Webserver auf verschiedene Domänenanfragen reagiert.

Die Best Practice von Rackspace schreibt vor, dass sich der virtuelle Host an den folgenden Orten befindet:

  • /etc/apache2/sites-available/example.com.conf

Dieses Verzeichnis ist der Ort, an dem die Konfigurationsdatei gespeichert ist. Es wird dann symbolisch mit /etc/apache2/sites-enabled/example.com.conf verknüpft

HINWEIS :Aufgrund der beschriebenen Konfigurationen müssen alle virtuellen Hostdateien auf .conf enden. Für die Zwecke dieses Beispiels gehen wir davon aus, dass ein virtueller Host für Port 80 bereits in seiner eigenen Konfigurationsdatei existiert.

Öffnen Sie zunächst die virtuelle Hostdatei in Ihrem bevorzugten Texteditor:

$ vim /etc/apache2/sites-available/example.com.conf

Wenn der Port 80 Virtual Host von Rackspace konfiguriert wurde, wäre in den meisten Fällen ein Dummy-443-Block als Platzhalter erstellt worden. In diesem Fall können Sie das Kommentarzeichen am Anfang jeder Zeile entfernen und den Abschnitt nach Bedarf ändern.

Es gibt ein paar Dinge zu überprüfen:

  • ServerName/ServerAlias-Übereinstimmungen für Ihre Domain
  • Der DocumentRoot entspricht dem Port-80-Block
  • Der Verzeichnisabschnitt entspricht dem Port 80-Block

Fügen Sie für den Block 443 Folgendes in Ihren virtuellen Host ein:

<VirtualHost *:443>
        ServerName      example.com
        ServerAlias     www.example.com
        DocumentRoot    /var/www/vhosts/example.com
        <Directory /var/www/vhosts/example.com>
                Options -Indexes +FollowSymLinks -MultiViews
                AllowOverride All
        </Directory>

        CustomLog   /var/log/apache2/example.com-access.log combined
        ErrorLog    /var/log/apache2/example.com-error.log

        SSLEngine on
        SSLCertificateKeyFile   /etc/ssl/private/2022-example.com.key
        SSLCertificateFile      /etc/ssl/certs/2022-example.com.crt
        SSLCertificateChainFile /etc/ssl/certs/2022-example.com.ca.crt
</VirtualHost>

Prüfen Sie die Syntax und aktivieren Sie den virtuellen Host in Apache

Nachdem die Konfigurationsdateien Document Root und Virtual Host erstellt wurden, können wir die Syntax der Konfigurationsdateien überprüfen und Apache neu laden.

WARNUNG :Die folgenden Schritte können dazu führen, dass der Apache-Prozess unterbrochen wird. Stellen Sie sicher, dass diese Schritte genau befolgt werden und dass Sie Ihre Arbeit überprüfen, nachdem Sie die Änderungen vorgenommen haben. Wenn die von Ihnen vorgenommenen Änderungen dazu führen, dass der Apache-Prozess gestoppt wird, bedeutet dies, dass die Domänen auf dem Server jetzt ausgefallen sind. Machen Sie alle vorgenommenen Änderungen rückgängig und vergewissern Sie sich, dass der Apache-Prozess ausgeführt wird, oder rufen Sie den globalen Support von Rackspace an

RHEL/CentOS 6

Um zu überprüfen, ob die Syntax der Konfigurationsdateien korrekt ist, müssen Sie den folgenden Befehl ausführen:

$ httpd -t
Syntax OK

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren Apache-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben.

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um Apache neu zu laden:

$ apachectl graceful

Vergessen Sie nach dem Neuladen von Apache nicht, zu überprüfen, ob Apache wie erwartet ausgeführt wird, wie im Abschnitt „Voraussetzungen“ beschrieben.

RHEL/CentOS 7

Um zu überprüfen, ob die Syntax der Konfigurationsdateien korrekt ist, müssen Sie den folgenden Befehl ausführen:

$ httpd -t
Syntax OK

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren Apache-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben.

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um Apache neu zu laden:

$ apachectl graceful

Vergessen Sie nach dem Neuladen von Apache nicht, zu überprüfen, ob Apache wie erwartet ausgeführt wird, wie im Abschnitt „Voraussetzungen“ beschrieben.

Debian/Ubuntu

Um zu überprüfen, ob die Syntax der Konfigurationsdateien korrekt ist, müssen Sie den folgenden Befehl ausführen:

$ apachectl -t

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren Apache-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um Apache neu zu laden:

$ apachectl graceful

Vergessen Sie nach dem Neuladen von Apache nicht, zu überprüfen, ob Apache wie erwartet ausgeführt wird, wie im Abschnitt „Voraussetzungen“ beschrieben.

Zertifikat in Nginx mit PHP-FPM installieren

Die folgenden Abschnitte zeigen Ihnen, wie Sie ein SSL-Zertifikat auf NGINX-Webservern installieren und binden

HINWEIS: Beachten Sie, dass die Befehle vom Root-Benutzer ausgeführt werden. Wenn Sie keinen Zugriff auf den Root-Benutzer, aber sudo-Berechtigungen haben, verwenden Sie den sudo-Befehl am Anfang jeder Zeile.

Voraussetzung

Der erste Schritt beim Hinzufügen eines Serverblocks besteht darin, sicherzustellen, dass auf dem Server Nginx installiert ist und ausgeführt wird. Dies kann mit den folgenden Befehlen erfolgen.

RHEL/CentOS 6
$ service nginx status
RHEL 7+/CentOS 7+/Debian 8+/Ubuntu 16+
$ systemctl status nginx

Wenn NGINX nicht installiert ist, erhalten Sie zu diesem Zeitpunkt eine Fehlermeldung, dass der Prozess nicht gefunden werden kann. Sie können mit dem folgenden Befehl überprüfen, ob auf dem Server Nginx ausgeführt wird:

$ netstat -plnt | awk '$4 ~ /:(80|443)$/'

Wenn Sie feststellen, dass auf dem Server NGINX nicht ausgeführt wird, ist dies nicht der richtige Prozess. Bitte versuchen Sie es mit einem anderen Prozess, der in diesem Artikel beschrieben wird.

Installieren und sichern Sie SSL-Komponenten auf dem Server

Jetzt haben Sie das SSL-Zertifikat , Privater Schlüssel und CA-Paket Sie können diese Zertifikate jetzt zum Server hinzufügen. Die Best Practices schreiben vor, dass die Zertifikate benannt werden (Ablaufjahr-Domain, z. B.:2022-example.com.crt) und an den folgenden Orten gespeichert werden.

RHEL/CentOS

NGINX verwendet nur zwei Zertifikatsdateien für jeden Serverblock. Das CA-Paket und die Zertifikatsdateien werden in einer einzigen Datei kombiniert. Es gibt zwei Möglichkeiten, das verkettete Zertifikat für die Verwendung mit Nginx einzurichten.

Erstellen Sie mit Ihrem bevorzugten Texteditor neue Dateien an den unten angegebenen Speicherorten. Achten Sie darauf, das Beispiel zu ändern. com zum Namen der Domain auf dem Server.

Die erste Methode besteht einfach darin, sowohl den CRT- als auch den CA-Bundle-Inhalt zu einer einzigen Datei am richtigen Zertifikatspeicherort hinzuzufügen. Dies wird im folgenden Beispiel gezeigt:

  • SSL-Zertifikat/Kette - /etc/pki/tls/certs/2022-example.com.chained.crt
  • Privater SSL-Schlüssel – /etc/pki/tls/private/2022-example.com.key

Die zweite Methode beinhaltet einen zusätzlichen Schritt, in dem Sie das CA-Bundle als eigene Datei zum Server hinzufügen und die Dateien dann zu einer neuen Datei verketten. Dies wird im folgenden Beispiel gezeigt.

SSL Certificate - /etc/pki/tls/certs/2022-example.com.crt
SSL CA Bundle  - /etc/pki/tls/certs/2022-example.com.CA.crt
SSL Private Key - /etc/pki/tls/private/2022-example.com.key

Nachdem die Dateien erstellt wurden, können Sie den folgenden Befehl ausführen:

cat /etc/pki/tls/certs/2022-example.com.crt /etc/pki/tls/certs/2022-example.com.CA.crt > /etc/pki/tls/certs/2022-example.com.chained.crt
Debian/Ubuntu

NGINX verwendet nur zwei Zertifikatsdateien für jeden Serverblock. Das CA-Paket und die Zertifikatsdateien werden in einer einzigen Datei kombiniert. Es gibt zwei Möglichkeiten, das verkettete Zertifikat für die Verwendung mit Nginx einzurichten.

Erstellen Sie mit Ihrem bevorzugten Texteditor neue Dateien an den unten angegebenen Speicherorten. Stellen Sie sicher, dass Sie example.com in den Namen der Domain auf dem Server ändern.

Die erste Methode besteht einfach darin, sowohl den CRT- als auch den CA-Bundle-Inhalt zu einer einzigen Datei am richtigen Zertifikatspeicherort hinzuzufügen. Dies wird im folgenden Beispiel gezeigt:

SSL-Zertifikat/Kette – /etc/ssl/certs/2022-example.com.chained.crtSSL Private Key – /etc/ssl/private/2022-example.com.key

Die zweite Methode beinhaltet einen zusätzlichen Schritt, in dem Sie das CA-Bundle als eigene Datei zum Server hinzufügen und die Dateien dann zu einer neuen Datei verketten. Dies wird im folgenden Beispiel gezeigt.

SSL Certificate - /etc/ssl/certs/2022-example.com.crt
SSL CA Bundle  - /etc/ssl/certs/2022-example.com.CA.crt
SSL Private Key - /etc/ssl/private/2022-example.com.key

Nachdem die Dateien erstellt wurden, können Sie den folgenden Befehl ausführen:

cat /etc/ssl/certs/2022-example.com.crt /etc/ssl/certs/2022-example.com.CA.crt > /etc/ssl/certs/2022-example.com.chained.crt

HINWEIS: Wenn ein privater Schlüssel mit weltweit lesbaren Berechtigungen installiert wird, kann jeder mit Zugriff auf sogar ein Benutzerkonto auf dem Server alle mit dem entsprechenden Zertifikat verschlüsselten Informationen entschlüsseln. Es ist wichtig sicherzustellen, dass das Zertifikat und der Schlüssel die richtigen Berechtigungen haben.

Nachdem die SSL-Zertifikatskomponenten an den richtigen Stellen installiert wurden, ist es wichtig, dass wir die richtigen Berechtigungen für die private Schlüsseldatei festlegen.

    chmod 600 /path/to/private/key/file.key

Erstellen oder Ändern von Serverblöcken im virtuellen Host

RHEL/CentOS

Virtuelle Hostdateien spezifizieren die Konfiguration unserer separaten Sites und bestimmen, wie der Nginx-Webserver auf verschiedene Domänenanfragen reagiert.

Die Best Practice von Rackspace schreibt vor, dass sich der virtuelle Host an den folgenden Orten befindet:

  • /etc/nginx/conf.d/example.com.conf

Alternative Speicherorte für den virtuellen Nginx-Host können sein..

  • /etc/nginx/conf/httpd.conf (Standard-Apache-Konfigurationsdatei, die auch ausgiebig von Webmin verwendet wird)
  • /etc/nginx/conf.d/ssl.conf (globale Standardkonfigurationsdatei für SSL)
  • /etc/nginx/vhost.d/example.com.conf (vhost.d ist ein von Benutzern erstelltes Verzeichnis und obwohl es einigermaßen üblich ist, ist es nicht die beste Vorgehensweise von Rackspace)

HINWEIS :Aufgrund der beschriebenen Konfigurationen müssen alle virtuellen Hostdateien auf .conf enden. Für die Zwecke dieses Beispiels gehen wir davon aus, dass ein virtueller Host für Port 80 bereits in seiner eigenen Konfigurationsdatei existiert.**

Öffnen Sie zunächst die virtuelle Hostdatei in Ihrem bevorzugten Texteditor:

$ vim /etc/nginx/conf.d/example.com.conf

Es gibt ein paar Dinge zu überprüfen:

  • ServerName/ServerAlias-Übereinstimmungen für Ihre Domain
  • Der DocumentRoot entspricht dem Port-80-Block
  • Der Verzeichnisabschnitt entspricht dem Port 80-Block

Sie müssen example.com für Ihren Website-Namen ändern und in Ihrem virtuellen Host platzieren:

server {
    listen              443;

    server_name         example.com www.example.com;
    root                /var/www/vhosts/example.com;
    index               index.html;

    ssl                 on;
    ssl_certificate     /etc/pki/tls/certs/2022-example.com.chained.crt;
    ssl_certificate_key /etc/pki/tls/private/2022-example.com.key;

    access_log          /var/log/nginx/example.com_ssl_access.log main;
    error_log           /var/log/nginx/example.com_ssl_error.log;
}

Sobald die Änderungen an den entsprechenden Konfigurationsdateien vorgenommen wurden, speichern und beenden Sie die Datei.

Debian/Ubuntu

Virtuelle Hostdateien spezifizieren die Konfiguration unserer separaten Sites und bestimmen, wie der Nginx-Webserver auf verschiedene Domänenanfragen reagiert.

Die Best Practice von Rackspace schreibt vor, dass sich der virtuelle Host an den folgenden Orten befindet:

  • /etc/nginx/sites-available/example.com.conf

Dieses Verzeichnis ist der Ort, an dem die Konfigurationsdatei gespeichert ist. Es wird dann symbolisch mit /etc/nginx/sites-enabled/example.com.conf verknüpft

HINWEIS :Aufgrund der beschriebenen Konfigurationen müssen alle virtuellen Hostdateien auf .conf enden. Für die Zwecke dieses Beispiels gehen wir davon aus, dass ein virtueller Host für Port 80 bereits in seiner eigenen Konfigurationsdatei existiert.

Öffnen Sie zunächst die virtuelle Hostdatei in Ihrem bevorzugten Texteditor:

vim /etc/nginx/sites-available/example.com.conf

Es gibt ein paar Dinge zu überprüfen:

  • ServerName/ServerAlias-Übereinstimmungen für Ihre Domain
  • Der DocumentRoot entspricht dem Port-80-Block
  • Der Verzeichnisabschnitt entspricht dem Port 80-Block

Sie müssen example.com für Ihren Website-Namen ändern und in Ihrem virtuellen Host platzieren:

server {
    listen              443;

    server_name         example.com www.example.com;
    root                /var/www/vhosts/example.com;
    index               index.html;

    ssl                 on;
    ssl_certificate     /etc/pki/tls/certs/2022-example.com.chained.crt;
    ssl_certificate_key /etc/pki/tls/private/2022-example.com.key;

    access_log          /var/log/nginx/example.com_ssl_access.log main;
    error_log           /var/log/nginx/example.com_ssl_error.log;
}

Sobald die Änderungen an den entsprechenden Konfigurationsdateien vorgenommen wurden, speichern und beenden Sie die Datei.

Überprüfen Sie die Syntax und aktivieren Sie Serverblöcke in Nginx

Nachdem die Document Root- und Server-Blöcke konfiguriert wurden, können wir die Syntax der Konfiguration überprüfen und Nginx neu laden.

WARNUNG :Die folgenden Schritte können dazu führen, dass der Apache-Prozess unterbrochen wird. Stellen Sie sicher, dass diese Schritte genau befolgt werden und dass Sie Ihre Arbeit überprüfen, nachdem Sie die Änderungen vorgenommen haben. Wenn die von Ihnen vorgenommenen Änderungen dazu führen, dass der Apache-Prozess gestoppt wird, bedeutet dies, dass die Domänen auf dem Server jetzt ausgefallen sind. Machen Sie alle Änderungen rückgängig und vergewissern Sie sich, dass der Apache-Prozess ausgeführt wird, oder rufen Sie den globalen Support von Rackspace an

RHEL/CentOS 6

Um zu überprüfen, ob die Syntax der Konfigurationsdateien korrekt ist, müssen Sie den folgenden Befehl ausführen:

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren NGINX-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um Nginx neu zu laden:

$ service nginx reload

Nachdem NGINX neu geladen wurde, denken Sie daran, zu überprüfen, ob Nginx wie erwartet ausgeführt wird, wie im Abschnitt „Voraussetzungen“ beschrieben.

Wenn Sie Änderungen mit PHP-FPM vorgenommen haben, müssen Sie auch die Syntax von PHP-FPM überprüfen und neu laden.

$ php-fpm -t
[16-Jun-2022 09:25:05] NOTICE: configuration file /etc/php-fpm.conf test is successful

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren PHP-FPM-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um PHP=FPM neu zu laden:

$ service php-fpm reload
RHEL/CentOS 7

Um zu überprüfen, ob die Syntax der Konfigurationsdateien korrekt ist, müssen Sie den folgenden Befehl ausführen:

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren Nginx-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um Nginx neu zu laden:

$ systemctl reload nginx

Denken Sie nach dem Neuladen von Nginx daran, zu überprüfen, ob Nginx wie erwartet ausgeführt wird, wie im Abschnitt „Voraussetzungen“ beschrieben.

Wenn Sie Änderungen mit PHP-FPM vorgenommen haben, müssen Sie auch die Syntax von PHP-FPM überprüfen und neu laden.

$ php-fpm -t
[16-Jun-2022 09:25:05] NOTICE: configuration file /etc/php-fpm.conf test is successful

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren PHP-FPM-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um PHP=FPM neu zu laden:

$ systemctl reload php-fpm    
Debian/Ubuntu

Um zu überprüfen, ob die Syntax der Konfigurationsdateien korrekt ist, müssen Sie den folgenden Befehl ausführen:

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren Nginx-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um Nginx neu zu laden:

$ systemctl reload nginx

Denken Sie nach dem Neuladen von Nginx daran, zu überprüfen, ob Nginx wie erwartet ausgeführt wird, wie im Abschnitt „Voraussetzungen“ beschrieben.

Wenn Sie Änderungen mit PHP-FPM vorgenommen haben, müssen Sie auch die Syntax von PHP-FPM überprüfen und neu laden.

$ php-fpm -t
[16-Jun-2022 09:25:05] NOTICE: configuration file /etc/php-fpm.conf test is successful

Wenn alles geklappt hat, erhalten Sie eine Meldung, die Syntax OK anzeigt .

Wenn Sie diese Meldung nicht sehen, deutet dies darauf hin, dass möglicherweise ein Syntaxproblem in Ihren PHP-FPM-Konfigurationsdateien vorliegt.

WARNUNG: Diese Fehler müssen vor Abschluss des nächsten Schritts behoben werden. Fahren Sie erst fort, wenn Sie eine Syntax-OK-Nachricht erhalten haben

Sobald die Syntaxprüfung OK zurückgibt, führen Sie den folgenden Befehl aus, um PHP=FPM neu zu laden:

$ systemctl reload php-fpm    

Zertifikat auf Managed-Hosting-Lösungen installieren

Wenn Sie ein SSL-Zertifikat für Ihren von Rackspace verwalteten Server angefordert haben, indem Sie ein Rackspace-Ticket eingereicht haben, installiert Rackspace das Zertifikat für Sie. Sie sollten Details angeben, einschließlich des Ortes, an dem das Zertifikat installiert werden soll, und Ihrer privaten Schlüsseldatei.

Zertifikat in einer benutzerdefinierten Microsoft Azure-Domäne installieren

Standardmäßig sichert Azure .azurewebsites.net Platzhalterdomäne mit einem einzelnen SSL-Zertifikat, sodass Sie bereits über https://.azurewebsites.net auf Ihre Anwendung zugreifen können URL.

Das standardmäßige Azure-SSL-Zertifikat funktioniert jedoch nicht, wenn Sie eine benutzerdefinierte Domäne für Ihre Anwendung verwenden. Eine benutzerdefinierte Domäne mit eigenem SSL-Zertifikat ist sicherer als die Standarddomäne. In den folgenden Abschnitten wird beschrieben, wie Sie einer Anwendung mit einer benutzerdefinierten Domäne ein SSL-Zertifikat hinzufügen.

Voraussetzung

You need your login credentials for the Azure portal. For information abouthow to log in to the Azure portal, seeSitecore Cloud portals and account management.

Get an SSL certificate

If you do not already have SSL certificate, you need to get one from a trustedCA. The certificate must meet all of the following requirements:

  • Signed by a trusted CA (no private CA servers).

  • Contains a private key.

  • Created for key exchange and exported to a .pfx Datei.

  • Uses a minimum of 2048-bit encryption.

  • Has a subject name that matches the custom domain it needs to secure. Tosecure multiple domains with one certificate, you need to use a wildcard name(for example, .contoso.com ) or specify the subjectAltName values.

  • Merged with all intermediate certificates used by your CA. Otherwise, youmight experience irreproducible interoperability problems on some clients.

For more information on getting a certificate, seegenerate a certificate signing request (CSR)and purchase or renew a Secure Socket Layer (SSL certificate.

Add the SSL certificate to Microsoft Azure

  1. Log in to the Azure portal.

  2. In the left-side navigation pane, click App services .

  3. Select the application to which you want to assign the certificate.

  4. Navigate to Settings and then click SSL certificate .

  5. Click Upload Certificate .

  6. Select the .pfx file that contains your SSL certificate and enter thepassword that you want to use for this certification.

  7. Click Upload .

    You can now navigate to the SSL certificate through the application pane.

  8. In the SSL bindings section of the SSL certificate pane, clickAdd bindings .

    A new pane labeled SSL Bindings appears.

  9. Use the drop-down menus to select the custom domain URL you want to secureby using SSL, followed by the name of SSL certificate. You can also selectwhether to use Server Name Indication (SNI) SSL or IP-based SSL .

  10. Click Add binding .

    SSL is now enabled for your custom domain.

Test the certificate

The best way to test a certificate is to use a third-party tool like theQualys® SSLLabs scanner. If you needassistance in improving the security configuration of your certificate, contactRackspace Support.

HINWEIS :If you browse to your website by using the Hypertext Transfer ProtocolSecure (HTTPS) protocol directive, the padlock icon on your browser is displayedin the locked position if your certificates are installed correctly and the serveris properly configured for SSL.

Another way to test the certificate is to go to whynopadlock.com.Enter your URL in Secure Address , and it shows any discrepancies that couldcause the site to be unsecure, such as mixed content issues.

Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch ein Gespräch mit uns beginnen.


Linux
  1. So installieren Sie ein selbstsigniertes SSL-Zertifikat in cPanel

  2. So installieren Sie ein kostenpflichtiges SSL-Zertifikat

  3. Was ist ein SSL-Zertifikat?

  4. Erwerben oder erneuern Sie ein SSL-Zertifikat

  5. So installieren Sie ein SSL-Zertifikat in Plesk

SSL-Checker-Tool

Wie installiere ich ein SSL-Zertifikat auf WHM/cPanel-Diensten?

Wie installiere ich ein SSL-Zertifikat über WHM?

Wie installiere ich ein SSL-Zertifikat in cPanel?

Kostenloses SSL-Zertifikat im Plesk Panel installieren

So installieren Sie ein SSL-Zertifikat auf cPanel