配置 SSL 证书 - HTTPS 安全配置
我们再来看一下网址的左侧,还显示一个”不安全”。
这个问题也是需要解决的,因为我们现在访问的协议是 HTTP,我们要把它切换成 HTTPS。
为什么需要 HTTPS?
- 提升网站安全性,保护用户数据
- 防止数据被中间人窃取或篡改
- 提高搜索引擎排名(SEO)
- 现代浏览器会标记 HTTP 网站为”不安全”
如何配置 HTTPS?
我们需要到阿里云里面去申请一个证书。
申请 SSL 证书
进入证书管理页面
仍然是回到域名控制台,点击 “首页”,然后再次点击 “控制台”。
然后我们找到这个 “安全(数字证书管理服务)“,然后点击 “SSL 证书管理”。
选择个人测试证书
然后我们找到右侧的 “个人测试证书”(也就是原来的免费证书)。
关于证书类型
因为正式的证书价格比较高,我们用这种测试的证书就行了。
它也是能够正常使用的,只不过它的期限只有三个月,然后我们每三个月来替换一下就行了。
购买证书
在没有证书之前,我们需要点击 “立即购买”。
然后选择:
- 个人测试证书(免费版)
- 购买的数量是 20
- 下面的服务是 “无稳定性保障”(其实通常还是比较稳定的)
因为我这里已经买过了,所以不能再次购买。
勾选之后,点击 “立即购买” 就行了。
创建证书
购买完成之后,然后我们再回到这个界面,然后 “创建证书”。
创建证书的时候:
- 选择 “个人测试(免费证书)”
- 这里会有一个数量
- 输入我们的域名:
xiaomiaojizhang.top - 数量是 1
快捷签发一定要勾选上!
下面的信息基本上都是默认的,然后点击 “提交审核”。
等待审核
点击之后,现在提示我们:
已经成功提交到 CA 公司,请您保持电话畅通,并及时查阅邮箱中来自 CA 公司的电子邮件。
通常不会打电话的哈,我们点击 “确认” 就行了。
然后这里的状态是 “申请审核中”,大概几分钟的时间可能就审核好了,非常的快。
我们只需要过一会刷新一下就行了。
下载证书
我们看到刚才有邮箱提示已经审核通过了,刷新一下看一下,显示 “已签发”。
- 绑定的域名就是我们申请的域名
- 到期时间是 4 月 13 号
然后我们点击右侧的 “更多” → “下载”。
然后找到这个 Nginx,点击右侧的 “下载”。
配置 SSL 证书到 Nginx
上传证书文件
下载完成之后,我们把这个文件复制一下,暂时先放到安装包这个目录下面吧,然后解压缩一下。
打开看一下,里面有两个文件:
- 一个是
.key后缀的 - 一个是
.pem后缀的
接下来我们再回到 Xftp,然后在 home 目录下面新建一个文件夹,比如我们的文件夹名称就叫 ssl。
双击进入,然后把这两个文件传过去。
那么现在这两个证书文件就放到了服务器上,放在了 /home/ssl/ 目录下面。
配置 Nginx
接下来,我们需要把这两个证书配置到 Nginx 中。
我们打开 Nginx 的配置目录,默认是在 /etc/ 目录下面:
cd /etc/nginx回车之后,我们就打开了 Nginx 的配置目录。
这里面有一个 nginx.conf,这个是 Nginx 关键的配置。
查看默认配置
我们来看一下这个配置文件,这里面的配置比较多,我们可以先忽略,主要看下面的:
这里有个 server,它默认监听的是 80 端口。
监听到 80 端口的请求之后,它会把页面返回给用户:
server {
listen 80;
root /usr/share/nginx/html;
}也就是我们之前在页面上看到的那个默认的文件,它会把这个目录下面的页面返回到页面上。
我们可以打开看一下,这个目录下有一个 index.html,那么这个页面打开之后,其实就是我们在浏览器看到的这个页面,是一样的。
理解 include 配置
我们再回到这个配置文件,还有一个关键的是这个 include:
include /etc/nginx/conf.d/*.conf;include 是什么意思呢?
也就是说它会包含后面的这个目录下的所有的 .conf 为后缀的配置文件,也就是说这个目录下的所有配置文件都会生效。
我们再打开一下这个目录看一下,这个目录下没有任何的配置文件。
创建 80 端口配置(HTTP 转 HTTPS)
我们需要在 conf.d 目录下创建配置文件。
创建 80.conf 文件:
server {
listen 80;
server_name xiaomiaojizhang.top www.xiaomiaojizhang.top;
return 301 https://xiaomiaojizhang.top$request_uri;
}这个配置是什么意思呢?
其实就是当有用户访问 80 端口的时候,我们把它转发到 443 的端口,转发到 HTTPS。
这样能够确保用户访问的一定是 HTTPS 的请求。
后面的 $request_uri 意思就是如果这个请求后面携带有其他的参数的话,保持不变。
创建 443 端口配置(HTTPS)
配置好 80 端口之后,我们还要配置一个 443 的端口。
因为这个配置文件比较长,我们就不去手写了。
创建 443.conf 文件:
server {
listen 443 ssl;
server_name xiaomiaojizhang.top www.xiaomiaojizhang.top;
# SSL 证书配置
ssl_certificate /home/ssl/xiaomiaojizhang.top.pem;
ssl_certificate_key /home/ssl/xiaomiaojizhang.top.key;
# SSL 安全配置
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
# 静态资源配置
location / {
root /usr/share/nginx/html;
index index.html;
}
}关键配置说明:
listen 443 ssl- 监听 443 端口server_name- 域名配置ssl_certificate- 证书文件路径ssl_certificate_key- 证书密钥路径location /- 静态资源目录
注意修改证书路径
确保证书文件名和路径与你实际下载的文件一致:
/home/ssl/xiaomiaojizhang.top.pem/home/ssl/xiaomiaojizhang.top.key
修改主配置文件
然后我们再回到这个 Nginx 的主配置,把它配置的默认的 80 端口的监听给去掉。
然后下面的 443 的 Demo 也给它去掉(它把它全注释掉了,我们不需要它)。
那么整个配置文件就是这样的:
- 一个 HTTP 的服务
- 然后下面包含了
conf.d目录下的所有配置 - 这个目录下就会包含 80 和 443 端口的配置
上传配置文件
然后把配置文件上传:
- 首先是
80.conf和443.conf传过去 - 然后把原来的
default.conf或example.conf给删掉(如果有的话) - 然后再回到 Nginx 的主目录下面,把修改后的
nginx.conf传过去
重载 Nginx 配置
配置修改好了之后,它还没有生效,我们需要去执行一个命令:
nginx -s reload遇到报错怎么办?
执行之后,这里报错了,提示没有这个文件。
那么应该是我们文件配置错了,我们看一下文件的名称。
常见错误
确保证书文件名正确,复制实际的文件名粘贴到配置文件中:
- 证书文件:
.pem后缀 - 密钥文件:
.key后缀
修改 443.conf:
ssl_certificate /home/ssl/实际文件名.pem;
ssl_certificate_key /home/ssl/实际文件名.key;保存一下,然后再重新传一下。
这时候我们再执行一下试试:
nginx -s reload执行成功了!没有报错。
验证配置
这时候,我们刷新一下页面,访问 xiaomiaojizhang.top。
关于备案提示
我们看到现在它提示:“该网站暂时无法访问,根据工信部的相关法律,已对该网站进行阻断显示”。
也就是我们当前的网站还没有做备案,那么这也是一个正常的页面。
所以我们暂时也没有办法去验证刚才的配置有没有问题。Nginx 没有报错,理论上应该是没有问题的。
我们等后面备案完了之后,可以再去测试,如果有问题的话再去修改。
配置文件说明
80 端口配置文件(HTTP 转 HTTPS)
server {
listen 80;
server_name xiaomiaojizhang.top www.xiaomiaojizhang.top;
return 301 https://xiaomiaojizhang.top$request_uri;
}443 端口配置文件(HTTPS)
server {
listen 443 ssl;
server_name xiaomiaojizhang.top www.xiaomiaojizhang.top;
ssl_certificate /home/ssl/xiaomiaojizhang.top.pem;
ssl_certificate_key /home/ssl/xiaomiaojizhang.top.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html;
}
}常见问题排查
1. Nginx 重载失败
# 检查配置文件语法
nginx -t
# 查看错误日志
tail -f /var/log/nginx/error.log2. 证书文件路径错误
确保证书文件已正确上传到 /home/ssl/ 目录:
ls -la /home/ssl/3. 端口未开放
检查云服务器安全组是否开放了 443 端口(HTTPS 端口)。
总结
配置 SSL 证书的关键步骤:
- 在阿里云申请个人测试证书(免费,有效期 3 个月)
- 下载 Nginx 格式的证书文件(.pem 和 .key)
- 上传证书文件到服务器
/home/ssl/目录 - 配置 Nginx 的 80 端口(HTTP 转 HTTPS)
- 配置 Nginx 的 443 端口(HTTPS)
- 重载 Nginx 配置使其生效
- 等待备案完成后验证配置
下一步
SSL 证书配置完成后,我们需要进行网站备案,才能正常访问网站。
遇到问题?
如果配置过程中遇到任何问题,可以下方微信扫码帮您看下(免费咨询)

