Da SHA1-Zertifikate von großen Browsern nicht mehr unterstützt werden , erscheint es ratsam, ein von SHA2 signiertes Zertifikat zu erhalten. Auf diese Weise sperren Sie jedoch IE6-Benutzer. Während dies für die meisten Menschen in einigen Fällen kein Problem darstellt, können wichtige Benutzer gesperrt werden.
Mit Blick auf den SSL-Handshake sendet der Client Details zu den unterstützten Funktionen.
Theoretisch könnte ein Server also ein Zertifikat senden, das der Client unterstützt. Neuere Browser erhalten einen SHA2-signierten und ältere SHA1.
Es sieht jedoch nicht so aus, als gäbe es Möglichkeiten, dies mit der Nginx-Konfiguration zu tun. Während Sie Versionen von Chiffren und Protokollen festlegen können, können Sie keine Logik haben, um zu bestimmen, wie Sie sich mit verschiedenen Client-Konfigurationen verhalten sollen.
Gibt es eine Möglichkeit, ein anderes Zertifikat zu bedienen, je nachdem, was der Client unterstützt?
Antworten:
Dies ist derzeit mit Nginx nicht möglich (obwohl es mit Apache ist). Es scheint jedoch, dass Unternehmen wie CloudFlare bereits ihre eigenen internen Modifikationen von nginx implementiert haben, um dies zu tun, und hoffentlich Open Sourcing für ihre Arbeit anbieten werden ( https://news.ycombinator.com/item?id=8276770 ) Ich hoffe / erwarte, dass Nginx diese Fähigkeit in einem Jahr haben wird, wenn der Bedarf dringender wird, wenn wir uns 2016 nähern.
In der Zwischenzeit habe ich gerade ein 1-Jahres-Zertifikat gekauft, das Ende 2015 abläuft, damit ich nicht von den Warnungen von Chrome getroffen werde, bis hoffentlich eine Funktion wie diese herauskommt.
quelle