1. 背景
如今,互联网迅速发展,人们对安全也越来越重视,很多网站也选择安装SSL证书,以此进行信息的加密传输,提高安全性。在这种大量需求下,也出现了很多提供SSL证书的厂商,其中也不乏各种免费的证书。而这,对于一些小网站和个人网站是很大的福音。本文就介绍我用过的一种免费SSL证书,从最开始的申请到后面的配置生效分享出来供参考。
在此还是建议如果是公司的网站或者一些比较重要的项目还是建议花点钱买SSL证书,稳定性和安全性更有保障,而个人使用免费证书完全够了。
2. 证书申请
先给出网站地址:FreeSSL.org
接下来的申请过程就比较简单了,在输入框中输入自己的域名,选择下面的品牌点击创建。接着第二步
输入自己的邮箱,FreeSSL会往该邮箱发送到期提醒。嗯。。。不担心证书过期了。至于证书类型的选择可参考RSA与ECC的选择,验证类型选择自己方便的方式即可(我选择的是DNS),CSR生成方式说明(网站下方贴过来的):
-
浏览器生成
在浏览器支持 Web Cryptography 的情况下,我们默认使用浏览器根据用户的信息生成CSR文件(关于 Web Cryptography 的浏览器支持情况可点击 这里 了解详情) -
服务器生成
在浏览器不支持 CSR 生成的时候,我们建议你通过 FreeSSL 服务器生成。注意,这里的私钥也将由服务器提供。我们不会保存您的私钥,如需托管,请在证书申请成功后到控制台操作。 -
上传自己的CSR文件
这种方式是最能够保证证书安全的方式,但需要一定的证书知识。如果您有 CSR 文件,您可以选择我有 CSR 并粘贴。我们将根据您的 CSR 颁发证书。
选择DNS验证会要求在域名的解析上配置一个TXT记录,照着做即可。值得注意的是,配置完TXT解析记录之后不要急着点击验证,过一会儿(过个三五分钟)再点,否则会验证失败,至少我开始几次是这样。
生成之后下载下来,里面包含一个.pem文件和.key文件。
3. Nginx配置证书
将得到的证书在nginx进行配置:
listen 443;
server_name njlife.top;
...
ssl on;
ssl_certificate /nick/ssl/xxx.pem;
ssl_certificate_key /nick/ssl/xxx.key;
页面访问 https://njlife.top, 漂亮的绿锁出来了!!!
http跳转https
将已有的http跳转到https,配置:
listen 80;
server_name njlife.top;
rewrite ^(.*)$ https://${server_name}$1 permanent;
访问之前的http地址:http://njlife.top, 可以成功跳转至 https://njlife.top。
至此,免费SSL证书申请并配置完成。