Direkt zum Inhalt

Wie installiere ich ein SSL/TLS-Zertifikat für meine Website auf meiner Amazon EC2 Linux Ubuntu-Instance?

Lesedauer: 3 Minute
0

Ich möchte ein selbstsigniertes SSL/TLS-Zertifikat auf meiner Amazon Elastic Compute Cloud (Amazon EC2) Ubuntu-Instance installieren, die einen Apache-Server hostet.

Behebung

Voraussetzung: Stelle sicher, dass die Sicherheitsgruppen der Instance den Datenverkehr auf den Ports 80 und 443 zulassen.

Apache- und OpenSSL-Webserver installieren

Um Apache und OpenSSL auf deinem Server zu installieren, führe den folgenden Befehl aus:

sudo apt-get install apache2 openssl -y

Selbstsigniertes Zertifikat generieren

Führe die folgenden Schritte aus:

  1. SSL/TLS verwendet sowohl öffentliche als auch private Schlüssel. Führe den folgenden Befehl aus, um einen privaten Schlüssel für deine Domain und eine Certificate Signing Request (CSR) zu erstellen:

     sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/ssl/private/private.key -out /etc/ssl/private/request.csr
  2. Führe den folgenden Befehl aus, um ein SSL/TLS-Zertifikat zu generieren:

     sudo openssl x509 -in /etc/ssl/private/request.csr -out /etc/ssl/private/certificate.crt -req -signkey /etc/ssl/private/private.key -days 365

Du kannst jetzt die Schlüssel- (private.key) und Zertifikatsdateien (certificate.crt) mit dem Apache-Webserver verwenden.

Apache für die Verwendung von SSL/TLS konfigurieren

Gehe wie folgt vor, um Apache für die Verwendung des von dir erstellten selbstsignierten Zertifikats zu konfigurieren:

  1. Führe den folgenden Befehl aus, um die Standard-Apache-SSL-Konfigurationsdatei zu öffnen:

    sudo vi /etc/apache2/sites-available/default-ssl.conf
  2. Verwende die folgenden Pfade, um den Speicherort deines SSL-Zertifikats zu definieren:
    Verwende /etc/ssl/private/certificate.crt für SSLCertificateFile.
    Verwende /etc/ssl/private/private.key für SSLCertificateKeyFile.

  3. Speichere und schließe die Datei. Führe dann den folgenden Befehl aus, um die virtuelle Hostdatei zu aktivieren:

    sudo a2ensite default-ssl.conf
  4. Führe den folgenden Befehl aus, um die standardmäßige virtuelle Host-Konfigurationsdatei für Apache zu öffnen:

    sudo vi /etc/apache2/sites-available/000-default.conf
  5. Um eine Weiterleitung zu deinem Domain-Namen hinzuzufügen, füge die folgende Zeile zur Datei etc/apache2/sites-available/000-default.conf hinzu:

    Redirect "/" https://Server-IP

    Hinweis: Ersetze Server-IP durch deine Server-IP-Adresse. Es empfiehlt sich, die vorhergehende Zeile nach der DocumentRoot-Zeile einzugeben. Die Weiterleitung leitet den gesamten Datenverkehr an die SSL/TLS-Version der Website weiter.

  6. Führe den folgenden Befehl aus, um die SSL/TLS- und Header-Module zu aktivieren:

    sudo a2enmod ssl
    sudo a2enmod headers
  7. Führe den folgenden Befehl aus, um den Apache-Dienst neu zu laden und die Änderungen anzuwenden:

    sudo systemctl reload apache2

SSL/TLS-Server verifizieren

Führe die folgenden Schritte aus:

  1. Starte deinen Webbrowser.
  2. Öffne https://Server-IP.
    Hinweis: Ersetze Server-IP durch deine Server-IP-Adresse. Der Webbrowser leitet dich auf eine Warnseite weiter. Du kannst dieses Verhalten erwarten, da dein Zertifikat nicht von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde.
  3. Wähle Proceed to Host aus, um die Apache-Startseite zu öffnen. In der Adressleiste des Browsers wird ein Schloss mit der Aufschrift not secure angezeigt. Dies zeigt, dass das Zertifikat nicht validiert ist, aber deine Verbindung verschlüsselt ist.

Informationen zur Konfiguration von SSL/TLS auf Red Hat Enterprise Linux (RHEL) oder Community Enterprise Linux findest du unter Einen Webserver für die Verwendung von HTTPS einrichten auf der Red Hat-Website. Oder, wenn du Amazon Linux verwendest, lies die SSL/TLS-Konfiguration für Amazon Linux 1 (AL1), Amazon Linux 2 (AL2) oder Amazon Linux 2023 (AL2023).

AWS OFFICIALAktualisiert vor 4 Monaten