免费SSL证书申请与自动续期全攻略:Lets Encrypt零成本实现全站HTTPS

文章最后更新时间:2026-04-13 15:36:09

HTTPS已经是网站的基本配置——没有SSL证书,浏览器会显示”不安全”警告,直接影响用户信任和SEO排名。但商业SSL证书每年几百到几千元,对于中小企业来说是一笔不必要的开支。本文介绍如何零成本申请Lets Encrypt免费SSL证书,并配置自动续期,真正实现一次配置、永久有效。

一、为什么网站必须安装SSL证书?

1. 浏览器强制要求
Chrome、Edge等主流浏览器会对没有HTTPS的网站显示”不安全”警告,大量用户看到后会直接离开。

2. SEO排名因素
百度和Google都将HTTPS作为排名因素之一。有SSL证书的网站,SEO排名更有优势。

3. 数据安全
HTTPS加密传输数据,防止被窃听和篡改。尤其是有登录、表单、支付的网站,HTTPS必不可少。

4. 微信小程序必须
微信小程序要求必须使用HTTPS接口,没有SSL证书无法开发小程序。

二、Lets Encrypt介绍

Lets Encrypt是一个由Mozilla、Google、Chrome、微软等公司联合发起的非营利CA机构,致力于推动全网HTTPS化。

Lets Encrypt的优势:

  • 完全免费(无任何费用)
  • 证书受所有主流浏览器信任
  • 支持自动申请和续期
  • 开源透明,社区活跃

唯一的”限制”:证书有效期90天(其他商业证书通常1-2年)。但通过自动续期脚本,可以永不过期。

三、申请Lets Encrypt证书的方法

方法1:使用Certbot(最推荐,自动化程度高)

Certbot是Lets Encrypt官方推荐的申请工具,支持一键申请和自动续期。

支持的系统:Ubuntu、Debian、CentOS、Fedora、Windows(通过其他工具)。

申请步骤(Ubuntu/Nginx为例):

# 安装Certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx

# 申请证书并自动配置Nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

# 查看证书
sudo certbot certificates

Certbot会自动修改Nginx配置,添加HTTPS,并设置定时任务自动续期。

方法2:使用acme.sh(轻量级,适合有技术基础的用户)

acme.sh是一个纯Shell脚本实现的ACME客户端,轻量、兼容性好。

# 安装acme.sh
curl https://get.acme.sh | sh

# 申请证书(以Nginx模式为例)
~/.acme.sh/acme.sh --issue -d yourdomain.com -d www.yourdomain.com --nginx

# 安装证书到Nginx
~/.acme.sh/acme.sh --install-cert -d yourdomain.com --key-file /etc/nginx/ssl/key.pem --fullchain-file /etc/nginx/ssl/cert.pem --reloadcmd "systemctl reload nginx"

方法3:宝塔面板(一键申请,最简单)

如果使用宝塔Linux面板,申请SSL证书只需要3步:

  1. 在宝塔面板网站设置中,选择要申请证书的网站
  2. 点击”SSL”选项卡,选择”Lets Encrypt”
  3. 勾选域名,点击申请

宝塔会自动申请证书、自动配置HTTPS、自动设置续期任务。

方法4:云服务商提供的免费证书

  • 阿里云:免费证书有效期1年,每年可免费申请20个
  • 腾讯云:免费证书有效期1年,每年可免费申请20个
  • Cloudflare:Universal SSL免费提供,自动续期

四、配置自动续期

Lets Encrypt证书有效期90天,必须配置自动续期,否则证书过期后网站会显示不安全。

Certbot自动续期:

# Certbot自动在 /etc/cron.d/certbot 创建定时任务
# 如果没有,手动添加:
sudo crontab -e

# 添加以下行(每天凌晨2点检查并续期)
0 2 * * * /usr/bin/certbot renew --quiet

acme.sh自动续期:

# acme.sh安装时自动添加定时任务
# 查看定时任务:
crontab -l
# 应该能看到类似:
# 0 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

宝塔面板自动续期:

宝塔默认已配置自动续期,无需手动操作。只需确保”自动续期”开关已开启。

续期测试:

# 手动测试续期(不会真正续期,只测试)
sudo certbot renew --dry-run

五、HTTPS完整配置清单

证书申请成功后,还需完整配置HTTPS才能发挥最佳效果:

1. 强制跳转HTTP到HTTPS

# Nginx配置
server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

2. 启用HSTS(HTTP严格传输安全)

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

3. 禁用旧版TLS协议(只保留TLS 1.2和1.3)

ssl_protocols TLSv1.2 TLSv1.3;

4. 配置安全Cipher套件

ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

5. 启用OCSP装订(提升HTTPS性能)

ssl_stapling on;
ssl_stapling_verify on;

六、HTTPS配置检测

配置完成后,使用以下工具检测HTTPS配置是否正确:

  • SSL Labs SSL Test:ssllabs.com/ssltest/(最全面,打分评级)
  • MySSL:myssl.com(国内工具,参考性好)
  • 浏览器开发者工具:查看Security标签页

目标:SSL Labs评分达到A级以上。

七、WordPress网站配置HTTPS

证书安装后,还需要修改WordPress的设置:

1. 修改WordPress地址

在WordPress后台 → 设置 → 常规:

  • WordPress地址(URL):改为https://
  • 网站地址(URL):改为https://

2. 修改文章和图片URL

# 修改文章内容中的HTTP链接为HTTPS
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');

# 修改附件URL
UPDATE wp_posts SET guid = REPLACE(guid, 'http://yourdomain.com', 'https://yourdomain.com');

3. 开启宝塔的强制HTTPS(如果用宝塔面板)

宝塔网站设置 → SSL → 强制HTTPS。

八、常见问题

Q:Lets Encrypt证书能被所有浏览器信任吗?
A:能。Lets Encrypt证书被所有主流浏览器信任,与商业证书无差别。

Q:证书续期会中断网站吗?
A:不会。续期操作在后台静默完成,不影响网站正常运行。

Q:一个证书可以绑定多个域名吗?
A:可以。Lets Encrypt支持多域名SAN证书,申请时用-d参数添加多个域名。

Q:泛域名证书怎么申请?
A:Lets Encrypt支持泛域名证书,使用DNS验证方式申请:certbot –manual –preferred-challenges dns -d “*.yourdomain.com” -d yourdomain.com。

总结

SSL证书是网站的标配,没有理由花钱买。Lets Encrypt完全免费,配合自动续期脚本,一次配置永久有效。Certbot、宝塔面板让申请过程极度简化,即使不懂技术也能轻松完成。

瀚煜云提供SSL证书申请与配置服务,帮企业网站安全升级HTTPS。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容