返回首页

网站如何从HTTP升级到HTTPS

布莱克2025-11-24 21:28
Tip:文章封面与内容无关,作者旅游时拍摄,因为没什么值得把四季都错过!

如何从HTTP升级为了HTTPS

## 网站建好了,但是显示不安全,因此有了配置SSL证书的想法

安装Certbot工具

因为博客采用的是Nginx,在服务器运行如下命令

sudo yum update
sudo yum install certbot python3-certbot-nginx -y

获取并自动配置证书

你的域名要先在Nginx上配置,如果Nginx没有配置该域名,会有问题

# yourdomain.com是你的网站的域名
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

设置自动续期

Let's Encrypt证书有效期为90天,需设置自动续期

sudo certbot renew --dry-run

此时Nginx自动添加了如下配置,已生效🏅🏅🏅

server {
    if ($host = yourdomain.com {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name yourdomain.com;
    return 404; # managed by Certbot
}

关于资源升级(图片地址还是http)

### 网站有对接阿里云OSS存储,然后解析了一个子域名到阿里云的OSS(而非自己的服务器ip),尝试用同样的方法对子域名解析,然后踩雷了

‼️ sudo certbot --nginx -d 子域名 的工作逻辑完全依赖「你的服务器 + Nginx 服务」

‼️ OSS 是阿里云托管服务,你无服务器控制权

正确做法✅✅

在阿里云控制台配置证书

直接在阿里云申请免费证书,然后绑定到 OSS,无需手动处理证书文件:

步骤 1:申请阿里云免费 SSL 证书

  1. 登录 阿里云 SSL 证书控制台
  2. 点击「免费证书」→「申请证书」,填写你的子域名(如 img.example.com),验证方式选择「自动 DNS 验证」(阿里云会自动添加 DNS 解析记录完成验证,无需手动操作);
  3. 等待 5-10 分钟,证书申请通过后,会显示在「已签发」列表中。

步骤 2:OSS Bucket 绑定子域名 + 配置证书

  1. 登录 阿里云 OSS 控制台,进入你的 Bucket;
  2. 点击「Bucket配置」→「域名管理」→「证书托管」;(因为我之前已经绑定过子域名)
  3. 在「SSL 证书」下拉框中,选择你刚申请的免费证书;
  4. 点击「确定」,等待 1-2 分钟生效
assistant