文章内容
2024/6/4 20:37:37,作 者: 黄兵
Cheap SSL 购买证书以及部署记录
最近国内所有云服务器厂商将免费的 SSL 证书都从一年缩短成了 3 个月,这就带来了很多麻烦:
1、每三个月需要重新申请新的证书之后重新部署,增加了工作量;
2、有的时候到期了自己还不知道,影响网站稳定,同时如果设置了提现,还是回到第一条上面所说的问题。
下面是阿里云将免费证书从一年变更成 3 个月的公告:
这个是公告全文:【变更】关于免费证书服务策略调整通知
同时我也查看了一下腾讯云的免费 SSL 证书策略,截图如下:
也可以看到免费证书仍然是 90 天有效期。
腾讯免费 SSL 证书调整公告: 关于免费 SSL 证书策略调整通知
所以于其 3 个月部署一次,还不如我们购买便宜付费的 SSL 证书图个清静。
我查询了 3 个提供 SSL 证书的商家,将价格贴在下面:
ssls.com 证书价格(标的价格都是5年优惠价格):
cheap ssl security(下面截图标注的价格是3年价格):
CheapSSLShop 价格截图(下图显示的价格都是5年优惠价格):
可以看到从这 3 家对比来看,还是 CheapSSLShop 价格便宜一些。
我们看一下国内付费单域名证书价格:
腾讯云单域名证书一年价格:
3 年的价格是:1260.00 元,我就不在此贴图了。
我们就以 CheapSSLShop 演示如果购买证书,如何部署证书,开始吧:
我们直接购买 5 年的单域名证书,截图如下:
我们直接加入购物车,之后开始结算,此处没什么好所的,支付完成之后,我们到控制台查看我们购买的证书,截图如下:
我们点击 VIEW,查看我们订购的证书:
2024 年 8 月 24 日更新:
这次又重新购买了一个证书,补充截图:
如果没有配置证书,证书的状态是 Pending Configuration(等待配置)。我们直接点击 SETUP SSL,开始配置证书。
如果您新购买没有配置 SSL 证书,Subscription History 哪里会出现配置,我是配置完成才开始截图写文章的,所以大家看到的可能和我不同。
我们直接点击 settings 按钮,也就是 Subscription History 哪里表格中的按钮,之后会让我们开始配置 SSL 证书:
点击 settings 这后,会来到这个页面:
输入验证码之后,点击 CONTINUE 按钮,需要我们配置 CSR,具体操作方法可以看文档,会有详细的说明,这里我们以 Amazon Lightsail 来说明如何生成 scr 文件(具体文章可以参考这里:Generating CSR in Amazon Lightsail):
我们在 aws Lightsail ubuntu 服务器上输入如下命令:
sudo openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
开始配置相关信息:
具体说明可以看上面的参考文章,有详细的说明,在此我不在赘述。
之后会在当前目录下面生成两个文件,一个是 server.key 文件和一个 server.csr 文件,我们将 server.csr 文件通过记事本打开,将内容输入到刚才的控制台当中。
核对一下,如果没有问题,点击继续。
应该会需要我们如何验证我们的域名所有权,我是用的是 DNS 验证,截图如下:
需要创建联系人信息,我们直接填入虚拟信息(不做真实性验证),截图如下:
之后出现一个配置概况:
最后提示:您是否愿意为下一次订阅注册自动配置?
我们直接选择:是,避免下一次证书到期还要重新配置,十分麻烦。
同时还给了一些提示,翻译如下:
- 在证书到期之前,配置过程将使用当前的 CSR、DCV 方法和联系方式自动完成,以便完成下一年度的订阅流程。
- 请注意,一旦处理了明年的配置,就需要进行域验证。
- 配置完成后,您将收到一封电子邮件,其中包含完成域验证和安装证书的说明。
我们点击提交请求,会生成一个 CNAME 记录,我们直接将 CNAME 记录复制到我们域名管理控制带 DNS 记录哪里。
完成之后,我们返回到 SSL 证书控制台,点击验证。
如果验证完成,就会生成一份证书,如果没有完成验证,需要我们等待片刻,DNS 生效需要一定的时间。
当我点击取得证书,会来到这样的一个页面,表示我们证书已经生成,我们可以下载证书了:
点击下载证书,之后会将生成的证书下载到本地,我们将文件解压出来,可以看到有四个文件:
如果我们使用的是 nginx,我们可以直接使用 pdf-lib.crt 这个证书文件,下面我详细说明 nginx 和 iis 10 部署证书的方法。
nginx 部署证书方式:
我们登录服务器,将 pdf-lib.crt 文件和 server.key(第一步生成的文件)文件复制到服务器,之后开始编辑 nginx default 这个文件:
server { listen 443 ssl http2; listen [::]:443 ssl; server_name pdf-lib.org; expires $expires; ssl_certificate /etc/ssl/private/pdf-lib.org/pdf-lib.org_bundle.crt; ssl_certificate_key /etc/ssl/private/pdf-lib.org/pdf-lib.org.key; ssl_prefer_server_ciphers on; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"; keepalive_timeout 70; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security max-age=63072000; add_header X-Frame-Options "ALLOW-FROM https://staticx.dev"; add_header X-Content-Type-Options nosniff; location / { proxy_pass https://iis_server; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
之后我们将这两个文件分别复制到 /etc/ssl/private/pdf-lib.org/pdf-lib.org_bundle.crt
这个目录和 /etc/ssl/private/pdf-lib.org/pdf-lib.org.key
这个目录,之后使用命令:
nginx -t
检查 nginx 配置是否正确,如果没问题,我们直接使用如下命令,重新加载配置:
nginx -s reload
这样就完成了 nginx 网站证书的配置。
iis 10 网站证书配置:
我们需要将刚才下载的 crt 文件转换成 pfx 文件,使用如下命令:
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
这里的 certificate.pfx
文件,就是我们需要输出的文件名;
privateKey.key
文件就是我们第一步生成的 server.key
文件,这里需要更改文件名;
certificate.crt 这个文件就是我们刚才下载下来的域名证书文件,这里是 pdf-lib_org.crt 文件;
CACert.crt 这个文件是 CA 文件,这里是 AAACertificateServices.crt 这个文件。
修改后的命令如下:
sudo openssl pkcs12 -export -out pdf-lib.pfx -inkey server.key -in pdf-lib_org.crt -certfile AAACertificateServices.crt
之后就完成了 pfx 文件的生成。
我们登录到 windows 服务器,将生成的 pdf-lib.pfx 文件复制到 windows 服务器上,我们开始导入证书文件:
具体操作流程可以看这里:IIS怎么安装SSL域名证书?
也可以参考这篇文章:2. IIS 10: How to Install and Configure Your SSL Certificate on Windows Server 2016
但是会略有区别,他那里使用的是 cer 文件,而我们使用的是 pfx 文件,这里需要注意。
在此不多做赘述,文章已经写的很详细了。
部署完成之后,就可以看到网站的证书失效已经消失了。
这样整个操作就完成了。
如果有任何我问题,欢迎下面留言。
CSR 文件介绍:
CSR 文件是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给 CA 认证中心进行审核。
参考资料:
1、How to convert .crt cetificate file to .pfx
3、Generating CSR in Amazon Lightsail
其它相关推荐:
1、Nginx 做为反向代理服务器,IIS 作为上游服务器应该怎么配置
2、IIS 部署 SSL 证书提示证书链中的一个或多个中间证书丢失
3、Windows Server 2022 IIS 10 开启 HTTP/3
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - Cheap SSL 购买证书以及部署记录
评论列表