主机配置SSL证书安装:手把手教你给网站加上小绿锁

你有没有注意到,现在打开网页时,浏览器地址栏左边那个小图标?那代表这个网站用了 HTTPS,数据更安全。如果你自己搭了个网站,比如博客或者后台管理系统,想让它也显示这个小绿锁,就得给主机配置SSL证书。别被名字吓到,其实没那么复杂。

为什么需要SSL证书?

简单说,SSL证书就是让网站从HTTP升级到HTTPS的关键。没有它,用户提交的密码、表单内容都是明文传输,中间被人截获也没法发现。加了SSL之后,数据会被加密,哪怕被截走也看不懂。而且现在很多浏览器会把非HTTPS的网站标成“不安全”,影响用户体验。

获取免费SSL证书(以Let's Encrypt为例)

以前买SSL证书要花钱,现在有Let's Encrypt这种公益项目,提供免费证书。最常用的工具是Certbot,支持主流系统和Web服务器。

比如你在用Ubuntu系统和Nginx,可以这样安装Certbot:

sudo apt update
sudo apt install certbot python3-certbot-nginx

装好后直接运行下面命令,Certbot会自动检测Nginx配置,帮你申请并部署证书:

sudo certbot --nginx -d yourdomain.com

过程中会让你填邮箱、同意协议,完成后刷新网站,地址栏就会出现小绿锁了。

手动配置证书文件(适用于其他环境)

有些主机环境不支持自动部署,就得手动操作。申请完证书后,你会拿到两个文件:
fullchain.pem(公钥)和 privkey.pem(私钥)。

以Nginx为例,编辑你的站点配置文件:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;

    root /var/www/html;
    index index.html;
}

改完重启Nginx:sudo systemctl reload nginx,再访问域名就走HTTPS了。

别忘了HTTP自动跳转HTTPS

虽然能访问HTTPS了,但用户可能还是习惯输www开头的地址。为了避免他们误入不安全的HTTP页面,加个强制跳转:

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

这样不管用户怎么输,都会自动跳到加密版本。

证书有效期和自动续期

Let's Encrypt的证书只有90天有效期,但可以自动续。Certbot自带续期功能,你可以加个定时任务:

sudo crontab -e

添加一行:

0 12 * * * /usr/bin/certbot renew --quiet

意思是每天中午12点检查一次,快过期的证书会自动更新。只要域名解析不变,基本不用再管。

如果哪天搬家换服务器,记得把证书文件和私钥一起迁移,不然HTTPS会失效。建议一开始就做好备份。