免费SSL证书申请及服务器nginx配置

站点支持https访问已经越来越普及,而且有些第三方接口仅支持https调用,例如小程序接口。本文不对SSL做过多解释,如需了解SSL可参考百度百科或其它网络资源。有多种渠道可申请免费SSL证书,这里仅介绍如何通过KeyManager申请证书,以及证书在服务器端的配置。

1、工具

  • 站点:https://freessl.cn/
  • 软件:KeyManager(本文使用Mac版),下载并安装,下载地址
  • 域名:自备域名(本文使用 crane.cool)
  • 服务器:安装了nginx的公网服务器(本文使用Centos系统服务器)

2、 证书申请

证书申请过程需要https://freessl.cn/站点和KeyManager工具配合使用。

2.1 申请CSR

CSR(Certificate Signing Request)即证书签名请求文件,详细介绍可参考百度百科或其它网络资源。

打开https://freessl.cn/站点,输入已申请的域名,点击“创建免费的SSL证书”,如图1。

然后会要求提供一个邮箱,如图2,目前注册过程中不会用到,域名即将到期时会发邮件到这个邮箱。

输入邮箱后,点击“创建”,页面会调用系统安装的KeyManager,如果没有自动启动,手动启动即可。启动KeyManager软件后,会自动创建CSR,如图3。这时可返回页面继续后续步骤。

图1
图1​​​
图2
图3

2.2 DNS验证

CSR申请成功后,站点会生成DNS验证值,如图4,需要在域名服务商站点处配置域名解析,为当前域名配置名为_dnsauth的TXT类型记录,如图5。

另外,为了保证站点正常访问,域名还需要配置两条@和www的A记录,记录值为部署服务器的ip,配置完成后如图6所示。

配置完成域名解析,等几分钟域名解析生效,然后再点击图4页面中的“点击验证”进行DNS验证。

图4
图5
图6

 2.3 证书导出

如果上面步骤操作正确,验证DNS后页面会展示如图7的证书信息,点击“保存到KeyManager”,则在KeyManager软件中可看到证书信息,如图8。这时可以导出证书,本文是将证书配置到nginx中,所以服务器平台选择“Nginx(pem)”,可选是否加密秘钥,如图9。导出完成后会生成两个crt和key类型的文件,如图10。

图7
图8
图9
图10

3、服务器端nginx配置

将上述步骤中的证书文件,crt和key上传至服务器。假设两文件上传到服务器的“/root/https”目录下,则在nginx配置文件中添加如下配置,启用域名对应站点的https访问。验证nginx配置没有问题后,重启nginx服务,如图11,图12。

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate /root/https/crane.cool_chain.crt;
    ssl_certificate_key /root/https/crane.cool_key.key;
    server_name crane.cool www.crane.cool;
    root    /usr/local/wwwroot/run;
    location / {
       index    index.html;
    }
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}
图11
图12

4、站点访问

在浏览器输入站点https://crane.cool访问,可见浏览器地址栏前面已经加了“一把锁”。点击“锁”图标可查看证书信息,如图13、图14。

图13
图14
发布了17 篇原创文章 · 获赞 6 · 访问量 786

猜你喜欢

转载自blog.csdn.net/lxh_worldpeace/article/details/105468968