本文主要介绍了如何创建一个免费的并且被各大浏览器默认认可的ssl证书,并且介绍了如何用Nginx配置证书,以及重定向Http到Https。
FreeSSL免费SSL证书
FreeSSL.org 是一个提供免费HTTPS证书申请的网站 ,目前支持通过这两家CA机构TrustAsia,Let’s Encrypt生成SSL证书。
我们这里选择TrustAsia,创建一个一年期限的ssl证书。

输入对应的域名,选择Ca机构,点击“创建免费的SSL证书”
输入邮箱地址
1 | 在证书快到期的时候,Freessl会发邮件提醒你。 |
选择证书类型,验证类型为“File”,CSR生成为“浏览器生成”(为了安全,最好是选择我有CSR),点击生成,
会弹出如下界面
在服务器项目根目录下新建.well-known/pki-validation/fileauth.txt文件,复制“201804190313215v2qzo2quee1emf9z180awofxk4ju12koqxbaw1d531n0jv030”到fileauth文件中,点击“点击验证”
如果CA生成证书成功,直接下载下来就行。
至此 完成ssl证书的创建。
配置Nginx支持Https
把上一步生成的证书以及私钥上传到服务器上,然后配置Nginx支持https访问,如下:
1 | # vim /etc/nginx/nginx.conf |
Http请求重定向到Https
修改Nginx配置文件如下,在Http server中添加重定向语句:
1 | server{ |
Freessl 相关
- 关于CSR生成的说明
1、浏览器生成
在浏览器支持 Web Cryptography 的情况下,我们默认使用浏览器根据用户的信息生成CSR文件(关于 Web Cryptography 的浏览器支持情况可点击 这里 了解详情)。
2、后端服务器生成
在浏览器不支持CSR文件生成的时候,我们会根据用户所填的信息,在后端服务器生成一个CSR文件。
3、上传自己的CSR文件
如果你有自己的CSR文件,并且想使用自己的CSR文件,那么可以点击上方表单中点击生成下方的文字,通过粘贴,使用自己的CSR文件。
- 关于域名验证的说明
CA 需要对您是否拥有该域名进行验证,这样才能给您颁发证书。这里有多种验证方式,您可以采用对您较为方便的方式进行。在进行下一步的同时,你将同意 Lets Encrypt service agreement 或 TrustAsia。如果您的网站有防火墙,请对 66.133.109.36 开放。如果您收到 504 网关超时,无法连接等其它错误, 请刷新页面重试;如果您有自己的CSR文件,可上传CSR文件之后进行手动验证。
1、手动验证(文件)
CA 将通过访问特定 URL 地址来验证您是否有改域名的所有权。因此,您需要下载给顶的验证文件,并上传到您的服务器
2、手动验证(DNS)
CA 将通过查询 DNS 的 TXT 记录来确定您对该域名的所有权。您只需要在域名管理平台将生成的 TXT 记录名与记录值添加到该域名下,等待大约 1 分钟即可验证成功
3、如果你有自己的CSR文件,可手动上传验证文件到您的域以验证所有权
CA 将通过查询 DNS 的 TXT 记录来确定您对该域名的所有权。您只需要在域名管理平台将生成的 TXT 记录名与记录值添加到该域名下,等待大约 1 分钟即可验证成功