改自我自己的博客之前发布的一篇原创文章

我们在访问网站的时候,经常会发现访问的是https协议,而不是http协议,比如百度网站

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(1)

百度网站的安全证书

点证书,就可以看到证书的详细信息

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(2)

百度证书信息

如果我们自己也想拥有网站的安全证书该如何操作呢?以下以CentOS8_1905、NGINX1.6.1环境下搭建的网站为例,进行说明

首先,我们需要访问https://www.freeforssl.com申请免费90天的SSL证书,虽然网站有到期通知的功能,但留下EMAIL地址也没通知过,所以就不用寄希望于网站通知了,自己大概记着点儿日期就行了。

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(3)

sslforfree网站

填上你自己的域名后点击Create Free SSL Certificate 开始生成域名证书的过程,第一步是验证域名

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(4)

验证域名方式

介绍两种我用过的方法,一是点击手动验证(Manual Verification)

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(5)

手动验证方式

点击 Download File #1 ,下载 cHl713SqMK9EUg2mn0vTf6XPJNJd18Upamw5iEVjBQ8 文件上传到自己的服务器上的.well-known目录中,完成后,点击如上第5项验证,如果弹出下载框,就证明配置没有问题。.well-known这个目录如没有需要自己建立。

第二种方法就是选择DNS手动验证,现在我们申请完域名后,域名机构会给你一个用户名和密码及登录地址用于管理域名,如果我们可以自主管理域名,就用这种方法,点击后,网站提示你增加一个TXT类型的记录,TTL值设为1,这样会使验证速度加快。我这里就不贴图了,其实和手动验证方法大同小异。

点击Download SSL Certificate 下载安全证书,如果验证过去了,会弹出验证成功创建SSL证书界面

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(6)

创建SSL证书界面

创建成功后,会出现如下界面

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(7)

成功生成的证书

会有三个文本框,不用复制黏贴,因为网站下方提供这三个证书文件的下载

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(8)

下载生成的证书文件

点击 Download All SSL Certificate Files ,会下载一个ZIP文件,解压缩后就是如上三个文件

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(9)

三个证书文件

至此,最关键的SSL证书文件就获取到了。把这三个文件上传到服务器上。NGINX配置如下(部分)

listen 443 ssl;

server_name 1.cn;

ssl on;

ssl_certificate /etc/1.cn/fullchain.crt;

ssl_certificate_key /etc/1.cn/private.key;

ssl_session_cache shared:SSL:10m;

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

其中 fullchain.crt 需要你下载的两个crt文件合并起来

# cat certificate.crt > fullchain.crt

# cat ca_bundle.crt >> fullchain.crt

这里需要注意的是用如上命令,fullchain.crt文件中,上述两个crt文件连接的部分是连着的,我们需要把这个文件连接部分改成如下这个样子

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(10)

连接部分要换行

然后重新启动NGINX

# systemctl restart nginx.service

防火墙请放开443端口,如需要可以关闭80端口访问。

验证SSL证书是否配置正确

怎么查看网站有没有ssl证书(为网站加把免费的安全锁)(11)

网站成功应用SSL证书

网站使用免费SSL证书搞定,一把免费的安全锁。

,