SSL 证书设置
blog
本文字数:1.1k 字 | 阅读时长 ≈ 4 min

SSL 证书设置

blog
本文字数:1.1k 字 | 阅读时长 ≈ 4 min

刚得到的域名是没有安全证书的,在地址栏 https 处有警告,在 cPanel 主域中也会提示有风险,因此我们需要给我们的网站设置 SSL 证书

1. SSL 证书申请并安装在 cPanel 上

1.1 登陆 ZeroSSL 官方网站

登陆ZeroSSL,然后输入自己的主域的地址,然后点击“Create Free SSL Certificate”,点击“New Certificate”

输入自己的域名,然后一直点击下一步

1.2 上传验证文件/下载 ssl 证书

这里我们点击“Download Auth File”,然后在 cPanel 主页找到“文件管理器”,进入到“public_html”文件夹中,新建“.well-known”文件夹,然后新建“pki-validation”文件夹,进入到此文件夹中,将刚才下载的文件上传进去,然后回到 ssl 的网站,点击第三步的链接会显示刚才下载的文件中的内容,此时说明验证成功,点击“Next Step”,这时会提示我们下载一个“xx.com”的压缩包,里面装有我们的 ssl 证书,点击下载即可,解压后内容如下

1.3 安装 SSL 证书

进入 cPanel 主页,在“安全”中找到“SSL/TLS”并进入,点击“生成、查看、上传或删除私钥”,进入后在上传新私钥中将我们刚才的“private.key”中的内容复制进去,点击“保存”
进入“生成、查看、上传或删除 SSL 证书”,再上传新证书中,先将“certificate.crt”的内容复制进去,然后将“ca_bundle.crt”的内容复制进去,点击保存证书
进入“管理 SSL 站点”,在域处点击我们的主域,然后点击“按域自动填充”,自动填充后,点击安装证书,即可安装成功!

注意:

  1. SSL 的网站有效期只有 90 天,过期后可以再次申请,重新安装即可
  2. 在安装完 SSL 证书后网站可能依旧显示错误,刷新下或者过一段时间就可以用 https://xx.com 检索网站啦

上述申请的方法只能申请三次了,之后就得花钱了,下面使用另一种方法

2. 使用 Let’s Encrypt 安装证书

此方法现在不 work 了,可以忽略

2.1 安装证书

首先下载 Let’s Encrypt 客户端 certbot

apt-get update
sudo apt-get install certbot
apt-get install python3-certbot-nginx

接下来申请证书,在终端中运行 Certbot,使用–nginx 标志指定您要配置 NGINX 服务器。Certbot 将自动检测 nginx,并提示您选择要启用 HTTPS 的域名。按照提示操作,完成证书申请过程。

执行以下命令

sudo certbot --nginx
(base) root@iZuf67mlx4ftb5vohxeobnZ:~# sudo certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
...
Congratulations! You have successfully enabled https://wangyh.co

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=wangyh.co

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wangyh.co/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wangyh.co/privkey.pem
   Your cert will expire on 2024-09-09.
   ...

证书申请成功:一旦证书申请成功,Certbot 将在/etc/letsencrypt/live/目录下为您的域名生成证书文件和私钥文件。

接下来修改 ngix 的文件 /etc/nginx/sites-available/default,重点是在 wangyh.co 替换为自己的域名

server {
    # others

	server_name wangyh.co;
    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/wangyh.co/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/wangyh.co/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

在重新加载 NGINX 配置之前,测试配置文件的语法是否正确,以避免出现错误,运行以下命令测试 NGINX 配置文件的语法。

(base) root@iZuf67mlx4ftb5vohxeobnZ:~# sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重新加载配置:如果配置文件语法正确,使用以下命令重新加载 NGINX 配置,使更改生效。

sudo service nginx reload

2.2 卸载证书

卸载安装的证书

certbot delete

记得把 /etc/nginx/sites-available/default 添加的部分也删除掉,最后一行应该添加了一段自动从 http 导向 https 的语句,也记得删掉,然后重启 nginx

sudo service nginx reload

3. aliyun 申请证书安装在 nginx

8月 21, 2024