为什么你的网站需要HTTPS证书
打开浏览器访问一个网站时,地址栏前面有没有那个小锁图标,其实不是装饰。这个锁代表连接是加密的,数据不会被中途偷看或篡改。比如你在咖啡店连Wi-Fi登录账号,如果没有HTTPS,密码可能就被同一网络的人截获了。现在主流浏览器还会对非HTTPS站点标上‘不安全’,影响用户信任。
实现HTTPS的核心就是申请并部署SSL/TLS证书。它就像网站的身份证,证明‘我就是我’,而不是别人冒充的钓鱼网站。
证书类型怎么选
常见的有DV、OV、EV三种。DV证书最基础,只验证域名归属,适合个人博客或小站,几分钟就能签发。OV证书要验证企业信息,审核几天,适合公司官网。EV证书显示绿色企业名称,现在用得少了,浏览器界面也不再突出展示。
一般情况下,选DV证书就够了。Let's Encrypt提供的免费DV证书,有效期90天,自动续期,被所有主流浏览器信任,够用又省钱。
如何申请Let's Encrypt免费证书
以Nginx服务器为例,使用Certbot工具自动化申请。先在服务器安装Certbot:
sudo apt update
sudo apt install certbot python3-certbot-nginx接着运行命令,让Certbot自动配置:
sudo certbot --nginx -d example.com -d www.example.com过程中会提示输入邮箱,用于到期提醒和紧急通知。同意服务条款后,Let's Encrypt会通过域名DNS或网站文件验证你是否拥有该域名。验证成功,证书自动生成并写入Nginx配置。
这时候刷新网页,就会发现已经走HTTPS了。可以去SSL Labs官网做个测试,检查配置是否安全。
手动申请其他CA机构证书
有些场景不能用自动化工具,比如CDN、负载均衡器或Windows服务器。这时需要手动申请。以阿里云或腾讯云为例:
进入控制台,找到SSL证书服务,点击“申请证书”。选择品牌(如GeoTrust、DigiCert),填写域名,验证方式选DNS验证。系统会生成一条TXT记录,去域名DNS管理处添加这条记录。
等几分钟,CA机构会自动查询DNS记录完成验证。审核通过后,下载证书包,里面通常包含.crt和.key文件。
部署证书到Web服务器
以Apache为例,把证书文件上传到服务器,修改虚拟主机配置:
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
DocumentRoot /var/www/html
</VirtualHost>保存后重启Apache,用https://example.com访问测试。如果打不开,检查防火墙是否放行443端口,以及证书路径是否正确。
设置自动续期避免中断
Let's Encrypt证书90天过期,但可以提前30天续签。Linux下用crontab定时执行:
0 3 * * 1 /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log这表示每周一凌晨3点检查一次,快到期的自动更新。配合Nginx重载命令,整个过程无需人工干预。
商业证书一般一年有效,到期前几周CA会发邮件提醒,记得及时操作续费和部署,否则网站会弹出安全警告,影响访问。