Wie richte ich Apache HTTP mit SSL-Zertifikat ein?

Lassen Sie uns Apache mit einem SSL/TLS-Zertifikat sichern.

Sobald das Zertifikat implementiert ist, ist die konfigurierte Domäne/IP über HTTPS zugänglich.

Fangen wir an.

Auf hoher Ebene werden wir Folgendes tun.

  • Kompilieren Sie Apache HTTP 2.4.5 mit dem SSL-Modul
  • Holen Sie sich ein SSL-Zertifikat
  • Konfigurieren Sie Apache für die Unterstützung von SSL

Installieren Sie Apache mit SSL aus der Quelle

Um SSL zu konfigurieren, muss Apache HTTP mit mod_ssl kompiliert werden. Ich werde CentOS 7 VM von verwenden Digitaler Ozean um dies zu demonstrieren.

  • Melden Sie sich mit root beim Linux-Server an und laden Sie die neueste Version von Apache herunter
wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

Hinweis: Sie können überprüfe hier für die neueste Version.

  • Mit gunzip-Befehl extrahieren
gunzip -c httpd-2.4.25.tar.gz | tar xvf -
  • Sie haben einen neuen Ordner „httpd-2.4.25“
  • Gehen Sie hinein und führen Sie den folgenden Konfigurationsbefehl aus
./configure --enable-ssl –-enable-so

Hinweis: Wenn Sie dies auf einem brandneuen Server tun, können Probleme im Zusammenhang mit APR, PCRE, OpenSSL auftreten, und Sie können sich auf die Anleitung zur Fehlerbehebung beziehen.

Stellen Sie sicher, dass Sie keinen Fehler von dem obigen Konfigurationsbefehl erhalten, und als nächstes müssen Sie mit make-Befehlen installieren.

make 
make install

Stellen Sie wie üblich sicher, dass die obigen Befehle keine Fehler verursachen. Dies schließt aus, dass Sie einen Apache-Webserver mit SSL-Unterstützung installiert haben.

  6 Tipps zum Organisieren Ihrer iPhone-Apps

Ein SSL-Zertifikat erhalten

Es gibt mehrere Möglichkeiten, das von der Zertifizierungsstelle signierte SSL-Zertifikat zu generieren und zu erhalten.

Wenn Sie SSL auf dem Intranet-Webserver implementieren möchten, verfügen die meisten Unternehmen über ein internes Zertifikatsausstellerteam, sodass Sie sich bei ihnen erkundigen müssen. Aber Sie müssen trotzdem einen CSR (Certificate Signing Request) generieren, und Sie können dies mit OpenSSL tun.

Wenn Sie jedoch eine mit dem Internet verbundene URL sichern möchten, können Sie entweder ein Zertifikat von VeriSign, GoDaddy, Namecheap, ZeroSSLusw., oder erhalten Sie ein KOSTENLOSES Zertifikat von Lassen Sie uns verschlüsseln.

Let’s Encrypt ist ein Kollaborationsprojekt der Linux Foundation, das ein KOSTENLOSES SSL/TLS-Zertifikat anbietet. Ich werde Let’s Encrypt verwenden, um ein Zertifikat für meine Domain – Chandan.io – zu erhalten

Es gibt mehrere Möglichkeiten, CSR zu generieren, aber die einfachste, die ich gefunden habe, ist die Verwendung von „SSL kostenlos“ Online-Tool.

Geben Sie die URL ein, die Sie sichern möchten

  Lohnt sich der Kauf von Kameraobjektiv-Add-Ons für Smartphones?

Überprüfen Sie den Domänenbesitz mit einer der aufgeführten Methoden und laden Sie Ihre Domänenzertifikatsdateien herunter.

Sie erhalten drei Dateien, die wir als nächstes verwenden werden, um den Apache-Webserver zu konfigurieren.

  • key – dies ist Ihre Schlüsseldatei und sollte mit niemandem öffentlich geteilt werden
  • Zertifikat – eigentliches SSL-Zertifikat für Ihre Domain
  • Ca_bundle – Stamm-/Zwischenzertifikat des Unterzeichners
  • Übertragen Sie die heruntergeladene Datei auf den Webserver. Wir werden sie in Kürze brauchen.

    Apache SSL-Konfiguration

    Und ein letzter Schritt wäre, Apache so zu konfigurieren, dass er die Anfrage über HTTPS bedienen kann.

    • Melden Sie sich beim Apache-Webserver an
    • Erstellen Sie eine Sicherungskopie der Datei httpd.conf (Standardspeicherort /usr/local/apache2/conf/)
    • Öffnen Sie die Datei mit dem vi-Editor und stellen Sie sicher, dass das Modul mod_ssl und httpd-ssl.conf vorhanden und nicht kommentiert sind
    LoadModule ssl_module modules/mod_ssl.so 
    Include conf/extra/httpd-ssl.conf

    Wir werden die Datei httpd-ssl.conf verwenden, um die Zertifikatsdetails zu konfigurieren. Folgendes müssen Sie sicherstellen, dass die richtigen Parameter vorhanden sind.

  • SSLCertificateFile – Zertifikats-CRT-Dateipfad, den Sie zuvor heruntergeladen haben
  • SSLCertificateKeyFile – private.a Schlüsseldateipfad
  • SSLCertificateChainFile – Dateipfad „ca_bundle.crt“.
  • Tipp: Vielleicht möchten Sie einen neuen Ordner mit dem Namen „ssl“ erstellen und alle zertifikatsbezogenen Dateien darin aufbewahren.

    • Erstellen Sie bei Bedarf eine Sicherungskopie und verwenden Sie den vi-Editor, um die Datei zu ändern.
    SSLCertificateFile "/usr/local/apache2/conf/ssl/certificate.crt"
    SSLCertificateChainFile "/usr/local/apache2/conf/ssl/ca_bundle.crt"
    SSLCertificateKeyFile "/usr/local/apache2/conf/ssl/private.key"

    Als nächstes müssen Sie die Direktive „ServerName“ konfigurieren. Normalerweise ist dies Ihr Domain-/URL-Name

    ServerName chandan.io
    • Speichern Sie die Datei und starten Sie den Apache Webserver neu
    cd /usr/local/apache2/bin 
    ./apachectl stop 
    ./apachectl start

    Und schließlich müssen Sie sicherstellen, dass Ihre Domain der neu konfigurierten Webserver-IP zugeordnet ist. Versuchen Sie anschließend, mit HTTPS auf Ihre Domain zuzugreifen.

      7 weniger bekannte, aber bemerkenswerte Muzei Live Wallpaper-Erweiterungen

    Und wie Sie sehen können, ist Chandan.io mit dem von mir konfigurierten Zertifikat über https zugänglich.

    Die obigen Schritte sind für die Einrichtung eines SSL-Zertifikats unerlässlich, und Sie müssen das SSL weiter optimieren, um es zu härten und zu sichern, was ich hier erklärt habe. Vor dem Go-Live möchten Sie möglicherweise auch Ihren Webserver SSL/TLS testen, um sicherzustellen, dass er keinen häufigen Sicherheitslücken ausgesetzt ist.

    Ich hoffe, dies gibt Ihnen eine Vorstellung davon, wie Sie ein SSL-Zertifikat auf Ihrem Apache-Webserver implementieren, damit die URL über HTTPS zugänglich ist.

    Haben Sie den Artikel gerne gelesen? Wie wäre es mit dem Teilen mit der Welt?