文章内容

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

2、IIS怎么安装SSL域名证书?

3、Generating CSR in Amazon Lightsail


其它相关推荐:

1、Nginx 做为反向代理服务器,IIS 作为上游服务器应该怎么配置

2、IIS 部署 SSL 证书提示证书链中的一个或多个中间证书丢失

3、Windows Server 2022 IIS 10 开启 HTTP/3

4、Nginx pem crt

5、cheapSSL 证书部署记录

6、cheapSSL 购买证书记录


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Cheap SSL 购买证书以及部署记录

分享到:

发表评论

评论列表