售前咨询400-838-0503

如何在Linux服务器上配置SSL证书(如Let's Encrypt)?

技术文档 2025-04-19 01:22

Linux服务器SSL证书配置全攻略:以Let's Encrypt为例

在网络安全日益重要的今天,为网站启用HTTPS加密连接已成为行业标准。本文将详细介绍如何在Linux服务器上配置免费的Let's Encrypt SSL证书,让您的网站安全等级提升到专业水平。

准备工作

  • 已部署网站的Linux服务器(推荐Ubuntu/CentOS)
  • 服务器root或sudo权限
  • 已解析到服务器IP的域名
  • 开放的80和443端口

第一步:安装Certbot工具

Certbot是Let's Encrypt官方推荐的证书管理工具:

Ubuntu/Debian系统:

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

CentOS/RHEL系统:

sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx

第二步:获取SSL证书

根据您的Web服务器选择相应方式:

Nginx服务器:

sudo certbot --nginx -d example.com -d www.example.com

Apache服务器:

sudo certbot --apache -d example.com -d www.example.com

独立验证(适合其他服务器):

sudo certbot certonly --standalone -d example.com -d www.example.com

注意:将example.com替换为您的实际域名

第三步:验证证书是否生效

使用浏览器访问您的网站,地址栏应显示锁形图标。也可通过命令行验证:

openssl s_client -connect example.com:443 -servername example.com | grep "Verify"

第四步:设置自动续期

Let's Encrypt证书有效期为90天,设置自动续期非常重要:

sudo certbot renew --dry-run

测试无误后,添加crontab任务:

0 0 */60 * * certbot renew --quiet

高级配置技巧

1. 强制HTTPS跳转

在Nginx配置中添加:

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

2. 配置HSTS安全策略

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";

3. 使用通配符证书

sudo certbot certonly --manual --preferred-challenges=dns -d *.example.com

常见问题解决

  • 证书申请失败:检查域名解析是否生效,确保80/443端口开放
  • 自动续期失败:确认crontab任务配置正确,certbot有执行权限
  • 混合内容警告:确保网站所有资源都使用HTTPS链接

总结

通过本文指导,您已成功为Linux服务器配置了Let's Encrypt SSL证书。这种免费、自动化的证书解决方案大幅降低了网站启用HTTPS的门槛。定期检查证书状态并保持自动续期功能正常运行,将确保您的网站持续提供安全的加密连接。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单