Der folgende Artikel wurde kürzlich veröffentlicht.
Firefox blockiert Richtlinien, da Chinas größte Zertifizierungsstelle "WoSign" das Ausstellungsdatum des Zertifikats manipuliert hat http://gigazine.net/news/20160928-wosign-firefox-block/
WoSign war praktisch, da es mehrere Jahre lang kostenlos SSL-Zertifikate ausstellen kann, aber es war ein Ausbruch von Manipulationen, was ein Problem war.
Als ich Anfang letzten Jahres nach einem Ort suchte, an dem ich ein kostenloses SSL-Zertifikat ausstellen konnte, entschied ich mich dafür, weil es nur einen bemerkenswerten Ort wie WoSign gab, aber als ich erneut nachforschte, war Let's Encrypt 4 dieses Jahres. Im Mai wurde von der Beta auf den offiziellen Dienst umgestellt.
Leaving Beta, New Sponsors https://letsencrypt.org/2016/04/12/leaving-beta-new-sponsors.html
Gutes Timing (lacht)
Deshalb habe ich mich entschlossen, Manipulationen und verdächtige Dienste aufzugeben.
Die Einführungsmethode wurde automatisiert, um die konventionelle Weisheit umzukehren. Bisher erhielt ich bezahlte SSL-Zertifikate für Unternehmen, aber ich war überrascht, dass zu diesem Zeitpunkt kein Verfahren als selbstverständlich angesehen wurde.
Da es nur diese beiden Bedingungen gibt, habe ich bereits erfüllt. Oder besser gesagt, es ist unwahrscheinlich, dass Sie ein SSL-Zertifikat wünschen, obwohl Sie diese Bedingung nicht haben.
Das Abrufen eines Zertifikats erfolgt mit einem Tool namens certbot. Das Werkzeug befindet sich auf Github, es fühlt sich also so an, als würde man es mit Git ziehen und benutzen.
cd /usr/local
git clone https://github.com/certbot/certbot
cd certbot/
Da der diesmal eingeführte Server an das Vault-Repository von CentOS 6.2 gebunden war, mussten Basis und Updates in den folgenden Schritten vorübergehend aktiviert werden.
vi /etc/yum.repos.d/CentOS-Base.repo
Führen Sie dann den folgenden Befehl aus.
./certbot-auto
Die yum-Installation wird gestartet. Drücken Sie daher "y", um fortzufahren. Nach einer Weile begann die Zertifikatserstellung interaktiv mit einem Bluescreen, aber ich hatte nicht den gewünschten Domainnamen in den Optionen, also habe ich ihn abgebrochen und beendet.
Holen Sie sich dann das Zertifikat mit dem folgenden Befehl.
./certbot-auto certonly --webroot \
-w /var/www/hogehoge -d www.example.com \
-m [email protected] \
--agree-tos
certonly ist eine Option, für die Sie nur ein Zertifikat benötigen. --webroot ist eine Option, um automatisch eine Datei zur Authentifizierung in den Dokumentenstamm einzufügen. Neben -w befindet sich der Pfad des in der Domäne veröffentlichten Dokumentstamms. Neben -d steht der Domänenname, für den Sie ein Zertifikat erhalten möchten. Neben -m steht die E-Mail-Adresse der verantwortlichen Person. Es dient dazu, Kontakt aufzunehmen, wenn etwas passiert. --agree-tos ist eine Hinweisoption, dass Sie den Nutzungsbedingungen zustimmen.
Ich habe jetzt ein Zertifikat, erhalte aber während der Ausführung die folgende Warnung:
/root/.local/share/letsencrypt/lib/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of cryptography will drop support for Python 2.6
Als ich gegoogelt habe, gab es viele Leute, die auf Probleme mit der Python-Version gestoßen sind. Es gab verschiedene Leute, die durch waren und diejenigen, die Maßnahmen mit SCL ergriffen.
~~ Ich habe auch versucht, 2.7 in SCL zu setzen, aber es hat nicht geklappt. ~~ Wenn Sie in den folgenden PFAD schauen, der bei der Installation von certbot eingegeben wird ...
ll /root/.local/share/letsencrypt/lib/python2.6/
Insgesamt 344
lrwxrwxrwx 1 root root 32 29. September 13:53 2016 UserDict.py -> /usr/lib64/python2.6/UserDict.py
-rw-r--r--1 Wurzel Wurzel 10062 29. September 13:53 2016 UserDict.pyc
lrwxrwxrwx 1 Wurzel Wurzel 31. September 29 13:53 2016 _abcoll.py -> /usr/lib64/python2.6/_abcoll.py
-rw-r--r--1 Wurzel Wurzel 24165 29. September 13:53 2016 _abcoll.pyc
lrwxrwxrwx 1 Wurzel Wurzel 27. September 29 13:53 2016 abc.py -> /usr/lib64/python2.6/abc.py
-rw-r--r--1 Wurzel Wurzel 6357 29. September 13:53 2016 abc.pyc
lrwxrwxrwx 1 Wurzel Wurzel 30. September 29 13:53 2016 codecs.py -> /usr/lib64/python2.6/codecs.py
-rw-r--r--1 Wurzel Wurzel 39165 29. September 13:53 2016 codecs.pyc
lrwxrwxrwx 1 Wurzel Wurzel 27. September 29 13:53 2016 config -> /usr/lib64/python2.6/config
lrwxrwxrwx 1 root root 32 29. September 13:53 2016 copy_reg.py -> /usr/lib64/python2.6/copy_reg.py
Folgendes wird weggelassen
Ein symbolischer Link wurde wie folgt direkt an Python 2.6 angehängt. Unabhängig davon, wie oft Sie Bash starten, das 2.7 verwenden kann, wird anscheinend eine Warnung angezeigt, da 2.7 nicht verwendet wird und 2.6 Python zwangsweise verwendet wird. ~~
~~ Ich habe das Zertifikat selbst erstellt, also werde ich weitermachen, aber eines Tages funktioniert es möglicherweise nicht mehr. ~~
Mit den oben genannten wurde die Warnung von 2.6 nicht angezeigt und 2.7 wurde verwendet. In diesem Zustand wurden unten 2.7 Caches erstellt. /root/.local/share/letsencrypt/lib/python2.7
Wenn Sie jedoch den Befehl certbot-auto ohne scl enable python27 bash ausführen, wird er erneut durch den 2.6-Cache ersetzt. Seien Sie also vorsichtig.
rm -rf /root/.local/share/letsencrypt
wget https://centos6.iuscommunity.org/ius-release.rpm
rpm -ivh ius-release.rpm
yum -y install python27 python27-devel python27-pip python27-setuptools python27-virtualenv
Nach Abschluss der obigen Installation habe ich mich erneut an der Konsole angemeldet und certbot-auto ausgeführt. Dabei wurde python2.7 gefunden und ohne Erlaubnis verwendet. Python2.7 wird ebenfalls im Cache gespeichert. Mit dieser Methode bin ich glücklich, weil ich nicht den Fehler mache, versehentlich die Aktivierung von scl zu vergessen, einen 2.6-Cache zu erhalten und eine Warnung zu erhalten.
Schreiben Sie Folgendes in die entsprechenden Servereinstellungen in der Apache Conf-Datei.
SSLCertificateFile /etc/letsencrypt/live/www.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.example.com/chain.pem
Dann lade Apache neu und du bist fertig.
service httpd reload
Let's Encrypt hat ein Ablaufdatum von nur 90 Tagen. Daher ist es für Menschen schwierig, jedes Mal zu verarbeiten, und es scheint vergessen zu sein.
Fügen Sie die Einstellungen in crontab ein, damit sie mit einem einzigen Befehl aktualisiert werden können.
Hinzugefügt am 15.11.2016 Fügen Sie am Anfang des Befehls "source / opt / rh / python27 / enable;" hinzu
Hinzugefügt am 17.02.2017 Bei der Installationsmethode python2.7 mit dem ius-Repository muss nicht "source / opt / rh / python27 / enable;" hinzugefügt werden.
crontab -u root -e
00 03 01 * * source /opt/rh/python27/enable;/usr/local/certbot/certbot-auto renew --force-renew && /sbin/service httpd reload
Dies ist ein Befehl, das Zertifikat am ersten Tag eines jeden Monats um 3:00 Uhr morgens zwangsweise zu erneuern. Ich kann nicht alle 90 Tage in Crontab sagen, also mache ich es jeden Monat. Let's Encrypt hat eine Obergrenze für die Aktualisierungshäufigkeit, aber es scheint kein Problem zu geben, wenn es einmal im Monat ist.
Dieses Mal habe ich die Maßnahmen zusammengefasst, die angesichts einer Notsituation ergriffen wurden, in der das SSL-Zertifikat aufgrund eines Fehlverhaltens der Zertifizierungsstelle in eine andere Organisation geändert werden musste. ~~ Es ist ein wenig bedauerlich, dass das Problem mit der Python-Version weiterhin besteht, aber ich bin froh, dass ich es vorerst lösen konnte. ~~ Ich kann keinen anderen Dienst wie Let's Encrypt finden, daher mache ich mir ein wenig Sorgen, dass es nur einer ist, aber ich hoffe nur, dass der Dienst für immer fortgesetzt wird.
Recommended Posts