【HTTPS实战】让你的网站更安全:免费申请SSL证书并配置HTTPS全流程

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 本文介绍如何在阿里云ECS上为网站配置HTTPS。通过使用Let's Encrypt免费SSL证书和Certbot工具,可一键申请证书并自动配置Nginx,实现数据加密与SEO优化。需准备域名、开放443端口,并设置自动续期,确保证书长期有效,让网站拥有安全锁标志,提升用户信任。

前言

在这个时代,如果你的网站还在使用 HTTP 协议,浏览器地址栏那个刺眼的“不安全 (Not Secure)”提示,足以劝退 90% 的用户。

HTTPS 不仅能加密传输数据,防止被中间人劫持(比如被运营商强行插入广告),还能提升网站在搜索引擎(SEO)中的排名。

作为第一阶段的收官之作,今天我们将实战演示:如何在阿里云ECS上,利用 Let's Encrypt 免费申请 SSL 证书,并自动配置 Nginx,让你的网站拥有那把绿色的“小锁头”。

准备工作

  1. 一台安装好 Nginx 的阿里云 ECS 服务器(参考本系列第2篇)。
  2. 重点: 一个已经购买并解析到你服务器 IP 的域名(例如 www.example.com)。
  • 注意:SSL证书是绑定域名的,不能绑定IP地址。
  1. 重点: 确保阿里云安全组已经开放了 443 端口(HTTPS 默认端口)。

第一步:安装 Certbot

我们将使用 Certbot 这个神器,它是 Let's Encrypt 官方推荐的客户端,能自动化完成证书申请和 Nginx 配置修改。

以 Alibaba Cloud Linux 3 / CentOS 7/8 为例:

Bash

# 1. 安装 EPEL 源 (如果之前装过可跳过)
yum install -y epel-release
# 2. 安装 Certbot 及其 Nginx 插件
yum install -y certbot python3-certbot-nginx

(如果是 Ubuntu 系统,使用 apt install certbot python3-certbot-nginx)

第二步:一键申请并配置证书

Certbot 最强大的地方在于它的 --nginx 插件,它会自动读取你的 Nginx 配置文件,帮你验证域名,甚至帮你修改配置。

运行以下命令(将 www.example.com 换成你的真实域名):

Bash

certbot --nginx -d www.example.com

执行过程中会发生什么?

  1. 输入邮箱: 第一次运行需要输入邮箱,用于接收证书过期提醒。
  2. 同意协议: 输入 Y 同意服务条款。
  3. 验证域名: Certbot 会自动在你的 Nginx 目录下生成一个临时文件,Let's Encrypt 服务器会通过访问这个文件来确认“你确实拥有这个域名”。
  4. 自动修改配置: 验证成功后,Certbot 会询问是否自动将 HTTP 流量重定向到 HTTPS?
  • 1 (No redirect):不强制重定向。
  • 2 (Redirect):推荐选这个,自动把所有 HTTP 请求转到 HTTPS。

第三步:验证 Nginx 配置

如果上一步执行成功,你的 Nginx 配置文件(通常在 /etc/nginx/nginx.conf)已经被自动修改了。我们可以去看一眼它改了什么:

Bash

cat /etc/nginx/nginx.conf

你会发现多了一段类似这样的代码:

Nginx

server {
    listen 443 ssl; # 监听 443 端口
    server_name www.example.com;
    # 证书路径(Certbot 自动生成的)
    ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem; 
    
    # ... 其他 SSL 优化参数 ...
}

第四步:测试 HTTPS

打开浏览器,访问 https://你的域名。 如果你看到了地址栏那把安全锁,恭喜你,你的网站已经进入加密时代!

常见排查:如果浏览器一直转圈无法访问,99% 是因为阿里云安全组没有开放 443 端口。请去阿里云控制台检查安全组规则。

第五步:设置自动续期

Let's Encrypt 的免费证书有效期只有 90天。虽然免费,但每三个月手动申请一次太麻烦了。好在 Certbot 自带续期功能。

  1. 模拟续期测试:先运行这行命令,确保续期流程没问题:
    Bash
certbot renew --dry-run
  1. 如果显示 Congratulations, all renewals succeeded,说明自动续期配置正常。
  2. 加入定时任务:Certbot 通常会自动安装定时任务(systemd timer 或 cron),我们可以手动加一道保险。 输入 crontab -e,添加一行:
    Bash
# 每月1号凌晨4点尝试续期,如果续期成功则重载 Nginx
0 4 1 * * certbot renew --quiet --deploy-hook "systemctl reload nginx"



相关文章
|
域名解析 应用服务中间件 Linux
【服务器】使用域名解析服务器的IP地址并配置SSL证书
【服务器】使用域名解析服务器的IP地址并配置SSL证书
2756 0
|
域名解析 缓存 网络协议
Let's Encrypt 配置 HTTPS 免费泛域名证书
Let's Encrypt 配置 HTTPS 免费泛域名证书
3696 0
|
2月前
|
网络协议 应用服务中间件 网络安全
阿里云SSL免费证书申请流程:免费SSL入口、免费到期后解决方法
阿里云提供免费SSL证书服务,基于Digicert品牌,单域名证书有效期3个月,每个账号每年可申请20张。通过数字证书管理控制台,选择“个人测试证书”完成购买后,进行域名DNS验证(如TXT记录),审核通过后下载适用于Nginx、Apache等的证书文件。到期不可续费,需重新申请。
856 4
|
2月前
|
安全 数据建模 物联网
阿里云SSL证书怎么买?免费版每年20张名额,收费版254元起+最快15分钟签发,购买流程参考
阿里云SSL证书怎么样?有哪些品牌?价格是多少?阿里云SSL证书有免费版也有收费版,目前免费版每年20张名额,收费版最低为254元起。本文为大家介绍阿里云SSL证书的技术优势、规格配置、多元化售卖策略、功能模块、应用场景覆盖及具体购买操作流程,为企业构建全方位数据安全防护体系提供参考指南。
280 1
免费证书certbot-aliyun
免费证书certbot-aliyun
1550 1
|
2月前
|
网络协议 安全 应用服务中间件
阿里云 SSL 证书申请全流程:新手也能看懂的图文教程
不管是个人做网站测试,还是企业刚起步需要给网站加安全防护,SSL 证书都是必不可少的 —— 它能让网站从 “http” 变成 “https”,浏览器地址栏会显示小绿锁,访客看着更放心,数据传输也更安全。阿里云提供了不同类型的 SSL 证书,其中免费的个人测试证书适合新手入门,下面就用通俗易懂的语言,一步步教你怎么申请、验证和下载,就算是第一次操作也能跟着做。
|
2月前
|
弹性计算 应用服务中间件 Linux
【运维实战】手把手教你在阿里云ECS上从零搭建Nginx服务器
本文详细介绍如何在阿里云ECS服务器(Alibaba Cloud Linux/CentOS/Ubuntu)上从零部署Nginx。涵盖安装、启动服务、安全组配置、验证访问及页面修改,并提供常用命令速查,助你快速搭建首个Web服务。
|
应用服务中间件 网络安全 nginx
使用let's encrypt免费ssl证书启用网站https
网站启用https访问,首先需要一个证书机构颁发的ssl证书,目前给个人免费颁发证书的机构,比较好的是:let's encrypt。Let's Encrypt是由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起公共的免费SSL项目,免费,安装方便,配置简单,值得信赖。
10819 1
|
6月前
|
Ubuntu 应用服务中间件 Linux
通过Certbot自动申请更新HTTPS网站的SSL证书
本文介绍了如何通过 Certbot 自动申请并更新 HTTPS 网站的 SSL 证书,配合 Crontab 实现自动续签,解决云服务商免费证书仅限 3 个月有效期的问题,适用于 CentOS、Debian、Ubuntu 系统,支持 Nginx 和 Apache 服务器。
1339 6