1. Was ist HTTPS?
Laut Wikipedia:
HTTPS ist mittlerweile die erste Wahl für alle Websites, die Wert auf Datenschutz und Sicherheit legen. Aufgrund der kontinuierlichen Weiterentwicklung der Technologie sind HTTPS-Websites keine großen Websites mehr. Mit dem Patent können alle normalen Webmaster und Blogger selbst eine sichere und verschlüsselte Website erstellen.
Wenn eine Website nicht verschlüsselt ist, werden alle Passwörter Ihres Kontos im Klartext übertragen. Man kann sich vorstellen, wie schrecklich die unverschlüsselte Übertragung aus Datenschutz- und Finanzgründen ist.
Da es sich bei den Lesern dieses Blogs allesamt um Profis handelt, gehen wir ohne Umschweife direkt zum Thema über.
2. Verwenden Sie OpenSSL, um SSL-Schlüssel und CSR zu generieren
Denn nur die vom Browser oder System vertrauenswürdige Zertifizierungsstelle kann allen Besuchern den reibungslosen Zugriff auf Ihre verschlüsselte Website ermöglichen. Überspringen wir also den Schritt des selbstsignierten Zertifikats und gehen direkt zum Signieren eines vertrauenswürdigen SSL-Zertifikats eines Drittanbieters über.
OpenSSL ist standardmäßig auf regulären Systemen wie Linux und OS
Gleichzeitig gibt es zwei Formen der gewöhnlichen SSL-Zertifikatauthentifizierung, eine ist DV (Domain Validated) und die andere ist OV (Organization Validated). Erstere muss nur den Domainnamen überprüfen Letzteres muss Ihre Organisation oder Ihr Unternehmen verifizieren. Aus Sicherheitsgründen ist Letzteres definitiv besser.
Unabhängig davon, ob Sie DV oder OV zum Generieren eines privaten Schlüssels verwenden, müssen Sie einige grundlegende Informationen eingeben. Hier gehen wir von Folgendem aus:
Domänenname, auch Common Name genannt, weil das Besondere Zertifikat ist nicht unbedingt ein Domainname:
Organisation oder Firmenname (Organisation):
Abteilung: Sie müssen es nicht ausfüllen, hier schreiben wir
Stadt:
Bundesstaat/Provinz:
Land:
Verschlüsselungsstärke: 2048 Bits, wenn Sie Wenn die Maschine eine starke Leistung hat, können Sie auch 4096-Bit wählen
Gemäß den obigen Informationen lauten die Befehle zur Verwendung von OpenSSL zum Generieren von Schlüssel und CSR wie folgt
PS: Wenn es sich um ein Pan-Domain-Name-Zertifikat handelt, sollten Sie
ausfüllen. Sie können diesen Befehl an einer beliebigen Stelle im System ausführen, und die beiden Dateien
Als nächstes können Sie es überprüfen
Diese CSR-Datei müssen Sie an die senden Wenn Ihr Domainname oder Ihre Organisation die Überprüfung besteht, stellt Ihnen die Zertifizierungsstelle ein
aus. Und
3. Nginx konfiguriert die HTTPS-Website und fügt Sicherheitskonfigurationen hinzu.
Wie bereits erwähnt, müssen Sie eine CSR-Datei an eine SSL-Zertifizierungsstelle eines Drittanbieters senden Wenn Sie eine CRT-Datei haben, haben wir sie
同时,为了统一,你可以把这三个文件都移动到
然后可以修改 Nginx 配置文件
检测配置文件没问题后重新读取 Nginx 即可
但是这么做并不安全,默认是 SHA-1 形式,而现在主流的方案应该都避免 SHA-1,为了确保更强的安全性,我们可以采取迪菲-赫尔曼密钥交换
首先,进入
生成完毕后,在 Nginx 的 SSL 配置后面加入
同时,如果是全站 HTTPS 并且不考虑 HTTP 的话,可以加入 HSTS 告诉你的浏览器本网站全站加密,并且强制用 HTTPS 访问
同时也可以单独开一个 Nginx 配置,把 HTTP 的访问请求都用 301 跳转到 HTTPS
四、可靠的第三方 SSL 签发机构
众所周知,前段时间某 NIC 机构爆出过针对 Google 域名的证书签发的丑闻,所以可见选择一家靠谱的第三方 SSL 签发机构是多么的重要。
目前一般市面上针对中小站长和企业的 SSL 证书颁发机构有:
StartSSL
Comodo / 子品牌 Positive SSL
GlobalSign / 子品牌 AlphaSSL
GeoTrust / 子品牌 RapidSSL
其中 Postivie SSL、AlphaSSL、RapidSSL 等都是子品牌,一般都是三级四级证书,所以你会需要增加 CA 证书链到你的 CRT 文件里。
以 Comodo Positive SSL 为例,需要串联 CA 证书,假设你的域名是
那么,串联的命令是
在 Nginx 配置里使用 example_com.signed.crt 即可
如果是一般常见的 AplhaSSL 泛域名证书,他们是不会发给你 CA 证书链的,那么在你的 CRT 文件后面需要加入 AlphaSSL 的 CA 证书链
AlphaSSL Intermediate CA
五、针对企业的 EV SSL
EV SSL,是 Extended Validation 的简称,更注重于对企业网站的安全保护以及严格的认证。
最明显的区别就是,通常 EV SSL 显示都是绿色的条,比如本站的 SSL 证书就是 EV SSL。
如果贵公司想获取专业的 EV SSL,可以随时联系我们 info at cat dot net
六、本文参考文献
Apache + WordPress + SSL 完全指南
OpenSSL CSR Creation
NGINX - PhoenixWiki
转自:https://s.how/nginx-ssl/
以上就介绍了NGINX 配置 SSL 证书 + 搭建 HTTPS 网站教程,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。