Linux云服务器SSL证书配置全攻略:从申请到部署HTTPS
在当今网络安全日益重要的环境下,为网站配置SSL证书实现HTTPS加密已成为基本要求。本文将手把手教你如何在Linux云服务器上完成SSL证书的完整配置流程,涵盖证书申请、验证到Nginx/Apache服务器部署的全过程。
准备工作
- 已购买域名并完成DNS解析
- 拥有root权限的Linux云服务器
- 已安装Web服务器(Nginx/Apache)
- 开放服务器的443端口(HTTPS默认端口)
一、SSL证书申请(以Let's Encrypt为例)
1. 安装Certbot工具
# Ubuntu/Debian系统
sudo apt update
sudo apt install certbot python3-certbot-nginx
# CentOS系统
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
2. 申请证书
sudo certbot certonly --nginx -d yourdomain.com -d www.yourdomain.com
按照提示完成域名验证后,证书将保存在/etc/letsencrypt/live/yourdomain.com/目录下
二、Nginx服务器配置
1. 修改Nginx配置文件
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
# 其他配置...
}
2. HTTP强制跳转HTTPS
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}
三、Apache服务器配置
1. 启用SSL模块
sudo a2enmod ssl
sudo systemctl restart apache2
2. 配置虚拟主机
ServerName yourdomain.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/yourdomain.com/chain.pem
四、证书自动续期配置
Let's Encrypt证书有效期为90天,需设置自动续期:
sudo crontab -e
# 添加以下内容(每月1号凌晨3点检查续期)
0 3 1 * * /usr/bin/certbot renew --quiet
常见问题解决
- 443端口无法访问:检查云服务器安全组/防火墙设置
- 证书不受信任:确认证书链完整(包含中间证书)
- 混合内容警告:确保网页内所有资源都使用HTTPS链接
总结
通过本文介绍的步骤,你可以为Linux云服务器成功配置SSL证书,实现网站HTTPS加密。定期检查证书有效期并保持自动续期功能正常,才能确保持续的安全防护。对于高安全性要求的网站,建议考虑购买商业SSL证书以获得更长的有效期和专业支持。
