Hervorragende Software und praktische Tutorials
Beantragen Sie ein kostenloses SSL-Zertifikat auf einem Linux-Server
Egal welche Art von Website Sie erstellen, der erste Schritt ist die Beantragung von SSL-Zertifikat Wenn keine gültigeDomänennamen-Zertifikat, können Sie nur über HTTP auf Port 80 darauf zugreifen. Die gängige Zugriffsmethode für Websites ist derzeit HTTPS.SSLEin Domänenzertifikat ist zwingend erforderlich! So geht'sBeantragen Sie ein Domänennamen-Zertifikat, und mehrere verschiedene Möglichkeiten, Domänennamenzertifikate zu beantragen.
Lassen Sie uns zunächst verstehen, was TSL/SSL ist
Beantragen Sie ein kostenloses SSL-Zertifikat SSL ist die Abkürzung für „Secure Sockets Layer“. Es wurde Mitte der 1990er Jahre von Netscape entwickelt. (Netscape hat übrigens nicht nur SSL erfunden, sondern auch viele Web-Infrastrukturen – wie etwa „CSS-Stylesheets“ und „JS-Skripte“)
Warum wurde das SSL-Protokoll erfunden? Weil das ursprünglich im Internet verwendete HTTP-Protokoll Klartext war und viele Nachteile mit sich brachte – beispielsweise konnte der übertragene Inhalt abgehört und manipuliert werden. Das SSL-Protokoll wurde entwickelt, um diese Probleme zu lösen.
Bis 1999 hatte sich SSL aufgrund seiner weiten Verbreitung zum De-facto-Standard im Internet entwickelt. Die IETF standardisierte SSL in diesem Jahr. Der Name wurde nach der Standardisierung in TLS (Abkürzung für „Transport Layer Security“) geändert, was auf Chinesisch „Transport Layer Security Protocol“ heißt.
In vielen verwandten Artikeln wird von SSL/TLS gesprochen, da beides unterschiedliche Stufen derselben Sache sind. Wie kann man einen Domänennamen TSL-fähig machen? Einfach ausgedrückt: Beantragen Sie ein SSL/TSL-Zertifikat für den Domänennamen!
Um ein SSL/TSL-Zertifikat zu beantragen, gehen Sie bitte zu:
- Let’s Encrypt beantragt ein kostenloses SSL-Zertifikat, erneuert das Zertifikat automatisch und verwendet dauerhaft https
- Kostenloser SSL-Zertifikatsroboter: Certbot beantragt schnell die automatische Erneuerung von https-Domänennamenzertifikaten
TSL/SSL-Zertifikat kostenlos beantragen
Es gibt zwei Arten von SSL-Zertifikaten: das ECC-Zertifikat (der integrierte öffentliche Schlüssel ist der ECDSA-Schlüssel) und das RSA-Zertifikat (der integrierte RSA-Schlüssel). Vereinfacht ausgedrückt ist ECC sicherer als RSA gleicher Länge, d. h. unter gleichen Sicherheitsbedingungen ist die Schlüssellänge von ECC deutlich kürzer als die von RSA (Ver- und Entschlüsselung sind schneller). Das Problem ist jedoch die mangelnde Kompatibilität von ECC und wird von Android 4.x und niedriger sowie Windows XP nicht unterstützt. Sofern Ihr Gerät nicht sehr alt ist, wird die Verwendung von ECC-Zertifikaten dringend empfohlen.
Unten verwenden acme.sh Skript zum Beantragen eines TSL/SSL-Zertifikats auf einem Linux-Server:
curl https://get.acme.sh | sh
Es wird angezeigt, dass SOCAT zuerst installiert werden muss. Starten Sie nach der Installation den Server neu und führen Sie anschließend das Skript zur Beantragung des Zertifikats aus. Centos8 meldet, dass Port 80 belegt ist. Nach der Deinstallation von SOCAT wird bei der Beantragung des Zertifikats eine erneute Installation von SOCAT angezeigt. Es ist eine Endlosschleife! Starten Sie den Server neu, um das Problem zu lösen!
dnf -y install socat Neustart
Generieren Sie unten das Zertifikat. Falls Sie einen Webserver wie Nginx oder Apache auf Ihrem Server installiert haben, müssen Sie diesen vorübergehend herunterfahren. Port 80 ist während der Zertifikatsbeantragung belegt. Stellen Sie daher sicher, dass Port 80 auf Ihrem Server nicht belegt ist.
Ein paar kleine Befehle zu Ports:
netstat -tln # Prüft die Portbelegung auf dem Server. netstat -tln | grep 80 # Prüft, ob Port 80 belegt ist. Reagiert die Kommandozeile nicht, ist der Port nicht belegt. Ist er belegt, wird der entsprechende Port angezeigt. lsof -i :80 # Prüft, zu welchem Programm der Port gehört. Welcher Prozess belegt den Port? kill -9 Prozessnummer # Beendet den Prozess, der den Port belegt.
Lass uns anfangenBeantragen Sie ein SSL-ZertifikatWenn ein Fehler auftritt, können Sie den Parameter --debug hinzufügen, um den detaillierten Fehler anzuzeigen.
acme.sh --issue -d gogobox.tk --standalone -k ec-256
Wenn nichts Unerwartetes passiert, wurde das TSL/SSL-Zertifikat erfolgreich generiert!
Die Gültigkeitsdauer des kostenlosen TSL/SSL-Zertifikats beträgt 90 Tage und muss innerhalb dieser 90 Tage erneuert werden. Das Skript aktualisiert es alle 60 Tage. Theoretisch kann das kostenlose Zertifikat unbegrenzt erneuert und verwendet werden. Sie können es natürlich auch manuell mit dem folgenden Befehl aktualisieren.
acme.sh --renew -d gogobox.tk --force --ecc
Wenn Sie einen Domänennamen generieren möchten, der mit www beginnt, oder einen Second-Level-Domänennamen, fügen Sie bitte den Parameter -d vor dem Domänennamen hinzu. Der Parameter --force erzwingt die Aktualisierung des Zertifikats! Beispiel:
acme.sh --issue -d gogobox.tk -d www.gogobox.tk -d m.gogobox.tk --standalone -k ec-256 --force
Installieren Sie das Zertifikat. Nach der Beantragung des SSL-Zertifikats wird es standardmäßig im Stammverzeichnis gespeichert. Falls Sie das Zertifikat installieren müssen, installieren Sie es am angegebenen Speicherort.
acme.sh --installcert -d gogobox.tk --ecc --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"
Hier ist eine weitere Möglichkeit, ein SSL-Zertifikat zu beantragen:
Installieren Sie zuerst socat
dnf installiere socat
Installieren Sie acme.sh
curl https://get.acme.sh | sh
Skriptinstallation后reboot,在nginx里设置好域名后,再进行证书申请
acme.sh --issue -d gogobox.tk -d www.gogobox.tk --webroot /var/wwwroot/
Sie können den Befehl auch verwenden, um die nginx-Konfiguration zu lesen, sofern der Pfad zum Domänennamen in nginx festgelegt wurde.
acme.sh --issue -d gogobox.tk --nginx
Nach erfolgreicher Zertifikatsbeantragung müssen Sie das Zertifikat installieren:
Nachdem die Zertifikatsanwendung erfolgreich war, installieren Sie das Zertifikat. acme.sh --installcert -d gogobox.tk --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"
Was ist der Unterschied zwischen Zertifikaten mit den Erweiterungen cer und crt?
Zertifikate mit der Erweiterung CRT sind DER- oder PEM-kodiert. Die Erweiterungen CER und CRT sind nahezu synonym. Dies ist in verschiedenen Unix/Linux-Systemen üblich.
CER ist das Microsoft-Format des CRT-Zertifikats. Sie können Microsoft-Tools verwenden, um CRT-Dateien in CER-Dateien zu konvertieren (CRT und CER müssen im gleichen Format, DER oder PEM, kodiert sein). Dateien mit der Endung CER können vom Internet Explorer erkannt und als Befehle zum Aufruf der Krypto-API von Microsoft verwendet werden.
In Windows gibt es verschiedene Zertifikatserweiterungen, z. B. .cer und .crt. Im Allgemeinen sind .cer-Dateien Binärdaten, während .crt-Dateien ASCII-Daten enthalten.
Die CER-Datei enthält Zertifikatsdaten, die gemäß den Distinguished Encoding Rules (DER) codiert sind. Dabei handelt es sich um das im x.690-Standard angegebene Codierungsformat.
X.509 ist der grundlegendste Standard für öffentliche Schlüsselformate und legt die verschiedenen Informationen fest, die ein Zertifikat enthalten muss. Die hier genannten Zertifikate liegen üblicherweise in diesem Format vor und enthalten den öffentlichen Schlüssel, die digitale Signatur des Ausstellers, die Gültigkeitsdauer usw. Der private Schlüssel ist nicht enthalten. Die relevanten Formate sind: DER, PEM, CER und CRT.
Das SSL-Domainnamen-Zertifikat wurde beantragt!
SSL-Zertifikat kostenlos online beantragen
FreeSSL: FreeSSL ist eine Website, die kostenlose HTTPS-Zertifikatsbeantragung, HTTPS-Zertifikatsverwaltung und Erinnerungsdienste für den Ablauf von HTTPS-Zertifikaten anbietet. Ziel ist es, die Verbreitung und Anwendung von HTTPS-Zertifikaten zu fördern und den Zertifikatsbeantragungsprozess zu vereinfachen.
Website zur Beantragung eines SSL-Zertifikats:https://freessl.org
certbot: certbot ist ein skriptbasierter Let’s Encrypt-Zertifikatsanwendungsclient. Er erfordert etwas Erfahrung in der Kommandozeilen-Bedienung. Für automatische Updates müssen Plug-ins hinzugefügt werden, was die Bedienung erschwert. Für automatische Updates und automatische Bereitstellung empfehlen wir die unten beschriebenen acme.sh und ohttps.
Website zur Beantragung eines SSL-Zertifikats:https://certbot.eff.org
acme.sh: ist ein bekanntes Open-Source-Projekt zur Beantragung von Let’s Encrypt-Zertifikaten. Es handelt sich ebenfalls um einen Skripttyp mit ausführlicher Dokumentation und unterstützt automatisierte Updates und Bereitstellungen. Einziger Nachteil: acme.sh kann den Bedarf an automatischer Bereitstellung auf mehreren Knoten nach Updates nicht erfüllen. Mit etwas Erfahrung in der Kommandozeile ist acme.sh dennoch sehr komfortabel zu bedienen und wird dringend empfohlen! Für den Bedarf an automatischer Bereitstellung auf mehreren Knoten nach Updates wird die Verwendung des unten beschriebenen ohttps empfohlen.
Website zur Beantragung eines SSL-Zertifikats:https://github.com/acmesh-official/acme.sh
Es bietet ähnliche Funktionen wie acme.sh, verfügt jedoch über eine benutzerfreundliche Verwaltungsoberfläche, ermöglicht die Beantragung kostenloser Let's Encrypt-Zertifikate mit Wildcard-Typ und bietet Funktionen zum Widerrufen von Zertifikaten, Erinnerungen vor Ablauf, automatische Updates und automatische Bereitstellung. Darüber hinaus bietet es im Vergleich zu acme.sh einige sehr praktische Funktionen, darunter die automatische Bereitstellung in Alibaba Cloud, Tencent Cloud, Qiniu Clouds Lastausgleich, Content-Distributions-CDN, SSL-Zertifikatslisten usw. und kann automatisch in mehreren Nginx-Containern bereitgestellt werden. Wenn Sie nach der Aktualisierung des Zertifikats automatisch auf mehreren verschiedenen Knoten bereitstellen möchten, verwenden Sie http://ohttps.com. Wir empfehlen Ihnen dringend, http://ohttps.com zu verwenden, um kostenlose HTTPS-Zertifikate von Let's Encrypt zu beantragen und zu verwalten.
Website zur Beantragung eines SSL-Zertifikats:http://ohttps.com