Wie richte ich Apache HTTP mit SSL-Zertifikat ein?

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

Sobald das Zertifikat implementiert ist, kann über HTTPS auf die konfigurierte Domäne / IP zugegriffen werden.

Fangen wir an.

Auf hoher Ebene werden wir Folgendes tun.

Install Apache with SSL from Source

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

wget http://www-us.apache.org/dist//httpd/httpd-2.4.25.tar.gz .

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

gunzip -c httpd-2.4.25.tar.gz | tar xvf -
./configure --enable-ssl –-enable-so

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

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

make  make install

Stellen Sie wie gewohnt sicher, dass die obigen Befehle keine Fehler enthalten. Dies kommt zu dem Schluss, dass Sie haben installiert ein Apache-Webserver mit SSL-Unterstützung.

Getting an SSL Certificate

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

Wenn Sie SSL auf dem Intranet-Webserver implementieren möchten, verfügt der größte Teil des Unternehmens über ein internes Zertifikataussteller-Team, sodass Sie sich bei diesen erkundigen müssen. Sie müssen jedoch noch eine CSR (Certificate Signing Request) generieren, und Sie können dies mithilfe von tun OpenSSL.

Wenn Sie jedoch eine sichern möchten Internet-URL Dann können Sie entweder ein Zertifikat von VeriSign kaufen. Los Papa, Namecheap, ZeroSSLusw. oder erhalten Sie ein KOSTENLOSES Zertifikat von Lass uns verschlüsseln.

Let's Encrypt ist ein Linux Foundation Collaboration Project, das a KOSTENLOSES SSL / TLS-Zertifikat. Ich werde Let's Encrypt verwenden, um ein Zertifikat für meine Domain zu erhalten - Chandan.io

Es gibt mehrere Möglichkeiten, CSR zu generieren, aber die einfachste Eine, die ich gefunden habe, ist die Verwendung der “SSL KOSTENLOSOnline-Tool.

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

Ü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 zum Konfigurieren des Apache-Webservers verwenden.

  1. Schlüssel - Dies ist Ihre Schlüsseldatei und sollte nicht öffentlich an Dritte weitergegeben werden
  2. Zertifikat - aktuelles SSL-Zertifikat für Ihre Domain
  3. Ca_bundle - Unterzeichner-Stamm- / Zwischenzertifikat

Übertragen Sie die heruntergeladene Datei auf den Webserver. Wir werden sie in Kürze brauchen.

Apache SSL Configuration

Ein letzter Schritt wäre, Apache so zu konfigurieren, dass es die Anforderung über HTTPS bedienen kann.

LoadModule ssl_module modules/mod_ssl.so  Include conf/extra/httpd-ssl.conf

Wir werden verwenden httpd-ssl.conf Datei zum Konfigurieren der Zertifikatdetails. Folgendes müssen Sie sicherstellen, dass die richtigen Parameter vorhanden sind.

  1. SSLCertificateFile - CRT-Dateipfad für Zertifikate, den Sie zuvor heruntergeladen haben
  2. SSLCertificateKeyFile - private.a Schlüsseldateipfad
  3. SSLCertificateChainFile - Dateipfad ca_bundle.crt

Tipp: Möglicherweise möchten Sie einen neuen Ordner mit dem Namen "ssl" erstellen und alle zertifikatsbezogenen Dateien in diesem Ordner behalten.

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 “ServerRichtlinie. Normalerweise ist es Ihr Domain- / URL-Name

ServerName chandan.io
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.

Und wie Sie sehen können, ist Chandan.io Zugriff über https mit dem Zertifikat, das ich konfiguriert habe.

Die obigen Schritte sind für die Einrichtung eines SSL-Zertifikats unerlässlich, und Sie müssen das SSL weiter anpassen härten und sichern, was ich hier erklärt habe. Bevor Sie live gehen, möchten Sie vielleicht auch Testen Sie Ihren Webserver SSL / TLS um sicherzustellen, dass es keinen allgemeinen Sicherheitslücken ausgesetzt ist.

Ich hoffe, dies gibt Ihnen eine Vorstellung davon, wie Sie ein SSL-Zertifikat auf Ihrem Apache-Webserver implementieren, damit auf die URL über HTTPS zugegriffen werden kann.