当前位置:首页 >  站长 >  建站经验 >  正文

网站SSL证书怎么申请?免费证书到HTTPS部署全流程

 2026-09-21 12:44  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

现在浏览器对 http 站点直接标“不安全”,用户一看到那个感叹号,信任感先掉一半。给网站加上 HTTPS 已经不是加分项,是基本功。好消息是证书可以免费拿,部署也不复杂。下面从申请到部署走一遍,新手照着做半小时能搞定。

一、先搞清楚证书的类型和去哪拿

个人和中小站点用 DV(域名验证)证书足够,验证的只是“你控制这个域名”,不验证公司身份,签发快、免费。免费来源最常用的是 Let's Encrypt,通过 certbot 工具自动签发,有效期 90 天但能设自动续期。付费证书在担保额度和售后上更强,普通官网用免费的完全够。

如果你用宝塔面板,面板里“SSL”那一栏直接对接了 Let's Encrypt,点几下填域名就能申请,比命令行省事。下面也给你命令行的路子,方便没有面板的场景。

二、申请证书:生成请求与自动签发

命令行方式,先装 certbot,再对域名签发。下面这条命令会自己完成域名验证(默认用 webroot 或 standalone 方式)、把证书放到 /etc/letsencrypt 下。它解决的是“拿到一份可信的证书文件”这件事,后续部署要用到里面的 fullchain 和 privkey。

# 用 certbot 为域名申请 Let's Encrypt 免费证书(需先装 certbot)
# 方式A:站点已跑在 Nginx,用 webroot 验证
certbot certonly --webroot -w /www/wwwroot/example.com \
-d example.com -d www.example.com

# 方式B:临时停掉 Web 服务用 standalone 验证
certbot certonly --standalone -d example.com -d www.example.com

# 申请成功后证书在 /etc/letsencrypt/live/example.com/
# fullchain.pem 是证书链,privkey.pem 是私钥

跑完看什么:命令行最后提示“Congratulations”就成功了;若报“验证失败”,多半是 80 端口没开或域名没解析到这台机器,先回去把解析和防火墙确认好再跑。证书目录里确认有 fullchain.pem 和 privkey.pem 两个文件。

三、部署到 Nginx,开启 HTTPS

拿到证书后,要在 Web 服务里“挂”上去,告诉它用哪个证书、监听 443 端口。下面这段是 Nginx 的 HTTPS 配置片段,把证书路径和域名填好就能用。

# /etc/nginx/conf.d/example_ssl.conf HTTPS 站点配置
server {
listen 443 ssl;
server_name www.example.com example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:10m;

root /www/wwwroot/example.com;
index index.php index.html;
}

# 80 端口统一跳 443,避免用户用 http 进来
server {
listen 80;
server_name www.example.com example.com;
return 301 https://$host$request_uri;
}

改完执行 nginx -t 检查语法,再 systemctl reload nginx。这时用 https 访问域名,地址栏应出现锁形图标。最后那一段 80 跳 443 很关键,否则用户手动输 http 还是走明文。

四、设自动续期,别等过期

Let's Encrypt 证书 90 天就过期,手动续太容易忘。certbot 装好时会写一个定时任务,但你要确认它真在跑:执行一次模拟续期,看是否成功。也可以自己加一条 crontab,每月跑一次 renew。

下面这条命令模拟续期(不真改证书),用来验证自动续期链路通不通。它干什么用——确认续期机制可用,避免哪天证书悄悄过期;要改哪里——基本不用改,certbot 自带路径;跑完看什么——输出“successfully”说明续期链路正常,若报错就要查定时任务是否生效。

# 测试证书自动续期链路(dry-run 不真正更新)

certbot renew --dry-run

# 确认有定时任务(Debian/Ubuntu 通常已自动写入)

systemctl list-timers | grep certbot

部署完别急着庆祝,打开浏览器用 https 访问,再点锁标看证书详情,确认颁发者是 Let's Encrypt、有效期正确。把续期跑通,这套 HTTPS 才算真正落地。

相关阅读:

《SSL证书装了浏览器还提示不安全?八成是这两个环节没做对》

《宝塔面板怎么用?建站、备份、安全三件套上手实操》

《网站怎么搭建?从域名到上线的一套完整流程(2026版)》

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

热门排行

信息推荐