Schauen Sie sich zunächst das offizielle Tutorial von Alibaba Cloud an: Dateibeschreibung: 1. Die Zertifikatsdatei xxxxxx.pem besteht aus zwei Abschnitten. Bitte löschen Sie keinen Abschnitt. 2. Wenn die CSR vom Zertifikatssystem erstellt wird, umfasst sie außerdem: die private Zertifikatsschlüsseldatei xxxxxxxx.key, die öffentliche Zertifikatsschlüsseldatei public.pem und die Zertifikatskettendatei chain.pem. (1) Erstellen Sie ein Zertifikatsverzeichnis unter dem Apache-Installationsverzeichnis und kopieren Sie alle heruntergeladenen Dateien in das Zertifikatsverzeichnis. Wenn Sie die CSR-Datei bei der Beantragung des Zertifikats selbst erstellt haben, legen Sie die entsprechende private Schlüsseldatei bitte in das Zertifikatsverzeichnis und nennen Sie sie xxxxxxxx.key. (2) Öffnen Sie die Datei httpd.conf im Verzeichnis conf unter dem Apache-Installationsverzeichnis, suchen Sie den folgenden Inhalt und entfernen Sie das "#": #LoadModule ssl_module module/mod_ssl.so (Wenn es nicht gefunden werden kann, bestätigen Sie bitte, ob das OpenSSL-Plugin kompiliert wurde) #Conf/extra/httpd-ssl.conf einschließen (3) Öffnen Sie die Datei conf/extra/httpd-ssl.conf im Apache-Installationsverzeichnis (je nach Betriebssystem und Installationsmethode kann es auch conf.d/ssl.conf sein) und suchen Sie in der Konfigurationsdatei nach der folgenden Konfigurationsanweisung: # Fügen Sie SSL-Protokollunterstützungsprotokolle hinzu und entfernen Sie unsichere Protokolle SSLProtocol all -SSLv2 -SSLv3 # Ändern Sie die Verschlüsselungssuite wie folgt: SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherBestellen bei # Zertifikat-Öffentlichkeitsschlüsselkonfiguration SSLCertificateFile cert/public.pem # Konfiguration des privaten Zertifikatschlüssels SSLCertificateKeyFile cert/xxxxxxx.key # Zertifikatskettenkonfiguration. Wenn das Attribut mit einem '#'-Zeichen beginnt, löschen Sie es bitte. SSLCertificateChainFile cert/chain.pem (4) Starten Sie Apache neu. (5) Greifen Sie über https auf Ihre Site zu, um die Installation und Konfiguration des Site-Zertifikats zu testen. Wenn Sie Probleme mit der Vertrauenswürdigkeit des Zertifikats haben, sehen Sie sich bitte das Hilfevideo an. Dies dient jedoch nur als Referenz. In Ubuntu habe ich Apache mit apt installiert, aber es gibt keine httpd.conf-Datei, sondern nur eine apache2.conf-Datei. Nun, diese Datei ist ähnlich wie httpd.conf und enthält die folgenden Kommentare: # Es ist in mehrere Dateien aufgeteilt, die die beschriebene Konfigurationshierarchie bilden # unten, alles befindet sich im Verzeichnis /etc/apache2/: # # /etc/apache2/ # |-- apache2.conf # | `-- ports.conf # |-- Mods aktiviert # | |-- *.laden # | `-- *.conf # |-- conf-aktiviert # | `-- *.conf # `-- sites-enabled # `-- *.conf # Diese Version von Apache verteilt die Konfigurationsdateien auf andere kleine Dateien und die Struktur ist wie oben gezeigt. Wenn Sie möchten, können Sie auch Ihre eigene httpd.conf schreiben und einbinden. Konzentrieren wir uns auf die Konfiguration von https. Der erste Schritt besteht darin, sicherzustellen, dass Port 443 Ihrer externen Umgebung geöffnet ist. Der zweite Schritt besteht darin, sicherzustellen, dass Sie ssl_module installiert haben. Wenn nicht, führen Sie einfach apt-get install openssl aus. Einige Abhängigkeiten können erforderlich sein, aber das sind alles kleinere Probleme. Anschließend öffne die ports.conf, folgende Sätze sind dabei unbedingt erforderlich: <WennModul ssl_module> Hören Sie 443 </IfModule> <IfModule mod_gnutls.c> Hören Sie 443 </IfModule> Öffnen Sie dann mods-available und suchen Sie ssl.conf und ssl.load ssl.load sieht folgendermaßen aus: # Hängt ab von: setenvif mime socache_shmcb LadeModul ssl_module /usr/lib/apache2/modules/mod_ssl.so ssl.conf sieht folgendermaßen aus: <IfModule mod_ssl.c> # Pseudozufallszahlengenerator (PRNG): # Konfigurieren Sie eine oder mehrere Quellen, um den PRNG der SSL-Bibliothek zu initialisieren. # Die Seed-Daten sollten eine gute Zufallsqualität aufweisen. # WARNUNG! Auf einigen Plattformen blockiert /dev/random, wenn nicht genügend Entropie vorhanden ist # ist verfügbar. Das bedeutet, dass Sie das Gerät /dev/random dann nicht verwenden können # weil es zu sehr langen Verbindungszeiten führen würde (solange # es erfordert, mehr Entropie verfügbar zu machen). Aber normalerweise diese # Plattformen bieten zusätzlich ein /dev/urandom Gerät, das nicht # Block. Wenn verfügbar, verwenden Sie stattdessen diesen. Lesen Sie den mod_ssl-Benutzer # Handbuch für weitere Einzelheiten. # SSLRandomSeed-Start integriert SSLRandomSeed-Startdatei:/dev/urandom 512 Integrierte SSLRandomSeed-Verbindung SSLRandomSeed-Verbindungsdatei:/dev/urandom 512 ## ## Globaler SSL-Kontext ## ## Die gesamte SSL-Konfiguration in diesem Kontext gilt sowohl für ## der Hauptserver und alle SSL-fähigen virtuellen Hosts. ## # # Einige MIME-Typen zum Herunterladen von Zertifikaten und CRLs # AddType-Anwendung/x-x509-ca-cert .crt AddType-Anwendung/x-pkcs7-crl .crl # Passphrase-Dialog: # Konfigurieren Sie den Prozess zum Sammeln von Passphrasen. # Das Filterdialogprogramm (`builtin' ist ein internes # Terminaldialog) muss die Passphrase auf stdout bereitstellen. SSLPassPhraseDialog exec:/usr/share/apache2/nach-passphrase-fragen # Interprozess-Sitzungscache: # Konfigurieren Sie den SSL Session Cache: Zuerst der Mechanismus # zu verwendendes und zweites ablaufendes Timeout (in Sekunden). # (Der Mechanismus dbm hat bekannte Speicherlecks und sollte nicht verwendet werden). #SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000) SSLSessionCacheTimeout 300 # Semaphor: # Konfigurieren Sie den Pfad zum gegenseitigen Ausschluss-Semaphor. # Die SSL-Engine wird intern zur prozessübergreifenden Synchronisierung verwendet. # (Standardmäßig deaktiviert, die globale Mutex-Direktive konsolidiert standardmäßig # Das) #Mutex-Datei:${APACHE_LOCK_DIR}/ssl_mutex ssl-cache # SSL-Chiffre-Suite: # Listet die Chiffren auf, die der Client aushandeln darf. Siehe die # ciphers(1) man page aus dem openssl Paket für eine Liste aller verfügbaren # Optionen. # Nur sichere Chiffren aktivieren: SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # Bevorzugte Verschlüsselungsreihenfolge des SSL-Servers: # Verwenden Sie Serverprioritäten zur Auswahl des Verschlüsselungsalgorithmus. # Clients bevorzugen möglicherweise eine niedrigere Verschlüsselungsstufe. Sie sollten diese aktivieren # Option, wenn Sie eine stärkere Verschlüsselung erzwingen möchten und es sich leisten können # die CPU-Kosten und hat SSLCipherSuite nicht auf eine Weise überschrieben, die # unsichere Chiffren zuerst. # Standard: Aus SSLHonorCipherBestellen bei # Die zu aktivierenden Protokolle. # Verfügbare Werte: alle, SSLv3, TLSv1, TLSv1.1, TLSv1.2 # SSL v2 wird nicht mehr unterstützt SSL-Protokoll alle -SSLv2 -SSLv3 # Erlauben Sie unsichere Neuverhandlungen mit Clients, die noch nicht die # sicheres Neuverhandlungsprotokoll. Standard: Aus #SSLInsecureRenegotiation am # Ob Nicht-SNI-Clients der Zugriff auf namensbasierte virtuelle Hosts verboten werden soll. # Standard: Aus #SSLStrictSNIVHostCheck Ein </IfModule> # vim: Syntax=Apache ts=4 sw=4 sts=4 sr noet Als nächstes folgt die Konfiguration der Site. Hier verwenden wir die Standarddatei default-ssl.conf: <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerName ###################Fügen Sie Ihre eigene Site-Konfiguration hinzu########### # Verfügbare Loglevel: trace8, ..., trace1, debug, info, notice, warn, # Fehler, kritisch, Alarm, Notfall. # Es ist auch möglich, den Loglevel für bestimmte # Module, z. B. #LogLevel info ssl:warn Fehlerprotokoll ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log kombiniert # Für die meisten Konfigurationsdateien aus conf-available/, die # global aktiviert oder deaktiviert werden, ist es möglich, # eine Zeile für nur einen bestimmten virtuellen Host einschließen. Zum Beispiel die # Die folgende Zeile aktiviert die CGI-Konfiguration nur für diesen Host # nachdem es mit „a2disconf“ global deaktiviert wurde. #Conf-available/serve-cgi-bin.conf einschließen # SSL-Engine-Schalter: # SSL für diesen virtuellen Host aktivieren/deaktivieren. SSLEngine ein # Ein selbstsigniertes (Snakeoil-)Zertifikat kann erstellt werden durch die Installation # das ssl-cert-Paket. Siehe # /usr/share/doc/apache2/README.Debian.gz für weitere Informationen. # Wenn Schlüssel und Zertifikat in der gleichen Datei gespeichert sind, wird nur der # SSLCertificateFile-Direktive ist erforderlich. SSL-Zertifikatdatei /etc/apache2/cert/public.pem SSL-Zertifikatschlüsseldatei /etc/apache2/cert/xxxxxxx.key # Server-Zertifikatkette: # Zeigen Sie mit SSLCertificateChainFile auf eine Datei mit dem # Verkettung von PEM-kodierten CA-Zertifikaten, die die # Zertifikatskette für das Serverzertifikat. Alternativ # die referenzierte Datei kann dieselbe sein wie SSLCertificateFile # wenn die CA-Zertifikate direkt an den Server angehängt werden # Zertifikat für Bequemlichkeit. SSL-Zertifikatkettendatei /etc/apache2/cert/chain.pem # Zertifizierungsstelle (CA): # Legen Sie den CA-Zertifikatsüberprüfungspfad fest, in dem sich die CA befindet # Zertifikate zur Client-Authentifizierung oder alternativ eines # riesige Datei, die sie alle enthält (Datei muss PEM-kodiert sein) # Hinweis: Innerhalb von SSLCACertificatePath benötigen Sie Hash-Symlinks # um auf die Zertifikatsdateien zu verweisen. Verwenden Sie die bereitgestellte # Makefile zum Aktualisieren der Hash-Symlinks nach Änderungen. #SSLCACertificatePath /etc/ssl/certs/ #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt # Zertifikatsperrlisten (CRL): # Legen Sie den CA-Widerrufspfad fest, in dem CA-CRLs für den Client zu finden sind # Authentifizierung oder alternativ eine große Datei mit allen Anzahl davon (Datei muss PEM-kodiert sein) # Hinweis: Innerhalb von SSLCARevocationPath benötigen Sie Hash-Symlinks # um auf die Zertifikatsdateien zu verweisen. Verwenden Sie die bereitgestellte # Makefile zum Aktualisieren der Hash-Symlinks nach Änderungen. #SSLCARevocationPath /etc/apache2/ssl.crl/ #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl # Client-Authentifizierung (Typ): # Art und Tiefe der Client-Zertifikatsüberprüfung. Die Typen sind # keine, optional, erforderlich und optional_no_ca. Tiefe ist ein # Zahl, die angibt, wie gründlich das Zertifikat überprüft werden soll # Ausstellerkette, bevor entschieden wird, dass das Zertifikat ungültig ist. #SSLVerifyClient erforderlich #SSLVerifyDepth 10 # SSL-Engine-Optionen: # Legen Sie verschiedene Optionen für die SSL-Engine fest. # oder FakeBasicAuth: # Übersetzen Sie den Client X.509 in eine Basisautorisierung. Das bedeutet, dass # Zur Zugriffskontrolle können die Standardmethoden Auth/DBMAuth verwendet werden. # Benutzername ist die einzeilige Version des X.509-Zertifikats des Clients. # Beachten Sie, dass vom Benutzer kein Passwort abgefragt wird. Jeder Eintrag im Benutzer # Datei benötigt dieses Passwort: „xxj31ZMTZzkVA“. # o ExportCertData: # Dadurch werden zwei zusätzliche Umgebungsvariablen exportiert: SSL_CLIENT_CERT und # SSL_SERVER_CERT. Diese enthalten die PEM-kodierten Zertifikate der # Server (immer vorhanden) und Client (nur vorhanden, wenn Client # Authentifizierung wird verwendet). Dies kann zum Importieren der Zertifikate verwendet werden # in CGI-Skripte. # oder StdEnvVars: # Dadurch werden die standardmäßigen SSL/TLS-bezogenen Umgebungsvariablen „SSL_*“ exportiert. # Standardmäßig ist dieser Export aus Performancegründen ausgeschaltet, # weil der Extraktionsschritt ein teurer Vorgang ist und normalerweise # nutzlos für die Bereitstellung von statischen Inhalten. Daher aktiviert man normalerweise die # Export nur für CGI- und SSI-Anfragen. # o OptRenegotiate: # Dies ermöglicht eine optimierte Neuverhandlung der SSL-Verbindung, wenn SSL #-Direktiven werden im Kontext pro Verzeichnis verwendet. #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Verzeichnis /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Verzeichnis> # SSL-Protokollanpassungen: # Das sichere und standardmäßige, aber dennoch SSL/TLS-Standard-konforme Herunterfahren # Ansatz ist, dass mod_ssl den Close-Notify-Alarm sendet, aber nicht wartet auf # die Close-Notification-Warnung vom Client. Wenn Sie eine andere Herunterfahroption benötigen # Ansatz: Sie können eine der folgenden Variablen verwenden: # o ssl-unclean-shutdown: # Dies erzwingt ein unsauberes Herunterfahren, wenn die Verbindung geschlossen wird, d. h. kein # SSL-Benachrichtigung zum Schließen wird gesendet oder empfangen. Dies verstößt gegen # der SSL/TLS-Standard, wird aber für einige hirntote Browser benötigt. Verwenden Sie # dies, wenn Sie E/A-Fehler aufgrund des Standardansatzes erhalten, bei dem # mod_ssl sendet die Benachrichtigung zum Schließen. # o SSL-genaues Herunterfahren: # Dies erzwingt ein genaues Herunterfahren, wenn die Verbindung geschlossen wird, d. h. ein # SSL-Schließbenachrichtigung wird gesendet und mod_ssl wartet auf die Schließbenachrichtigung # Warnung des Clients. Dies ist 100% SSL/TLS-Standard-konform, aber in # Praxis führt oft zu hängenden Verbindungen mit hirntoten Browsern. Verwenden Sie # dies nur für Browser, bei denen Sie wissen, dass ihre SSL-Implementierung # funktioniert einwandfrei. # Hinweis: Die meisten Probleme defekter Clients hängen auch mit HTTP zusammen # Keep-Alive-Funktion, daher möchten Sie normalerweise zusätzlich deaktivieren # Keep-Alive auch für diese Clients. Verwenden Sie hierfür die Variable „nokeepalive“. # Ebenso muss man einige Clients zwingen, HTTP/1.0 zu verwenden, um # ihre defekte HTTP/1.1-Implementierung. Verwenden Sie die Variablen "downgrade-1.0" und # "force-response-1.0" hierfür. # BrowserMatch "MSIE [2-6]" \ # nokeepalive ssl-unclean-shutdown \ # Downgrade-1.0 Kraftantwort-1.0 </VirtualHost> </IfModule> # vim: Syntax=Apache ts=4 sw=4 sts=4 sr noet Haben Sie bemerkt, dass die Konfigurationselemente im Alibaba Cloud-Tutorial in zwei Konfigurationsdateien aufgeteilt sind? Verwenden Sie dann https, um im Browser darauf zuzugreifen. Der Zugriff ist erfolgreich. (Linux kann zum Testen wget oder curl verwenden) Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Lösen Sie das Problem, dass das Element DateTimePicker+vue Popup-Box nur Stunden anzeigt
>>: So sortieren Sie eine Zeile oder Spalte in MySQL
Vorwort Semikolons sind in JavaScript optional un...
Ich erinnere mich, dass mir bei meinem Vorstellun...
1. Hot Deployment: Das bedeutet, das gesamte Proj...
Inhaltsverzeichnis 1. Was ist Dekonstruktion? 2. ...
Weiterführende Literatur: MySQL8.0.20-Installatio...
Problembeschreibung: Code kopieren Der Code laute...
1. Abfragegeschwindigkeit von zwei Abfrage-Engine...
Seit kurzem ist https auch auf dem Handy möglich....
Inhaltsverzeichnis 1. Hintergrund 2. Bedienungssc...
1. Laden Sie MySQL Community Server 5.7.16 herunt...
Ändern Sie die Gruppe, zu der ein Benutzer in Lin...
Closure-Implementierung privater Variablen Privat...
Vorwort Bei der Projektentwicklung gibt es viele ...
Inhaltsverzeichnis Vorwort Fügen Sie Sudo-Schreib...
Ich benutze den vi-Editor seit mehreren Jahren, h...