一、生成SSL证书
SSL证书的生成有两种主要方式:
- 使用Certbot工具自动生成
- 安装Certbot:
apt-get install certbot python3-certbot-nginx
- 执行命令生成证书:
certbot certonly --preferred-challenges dns -d test.test.com
- 按提示完成DNS验证,证书默认存储在
/etc/letsencrypt/live/
目录下
- 安装Certbot:
- 自签名证书生成
- 生成私钥:
openssl genrsa -out server.key 2048
- 创建证书请求文件:
openssl req -new -key server.key -out server.csr
- 生成自签名证书:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 生成私钥:
推荐通过阿里云、腾讯云等平台申请免费证书,下载包含.pem
和.key
的Nginx专用证书包。
二、配置Nginx服务器
在Nginx配置文件中添加以下SSL参数:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /path/to/certificate.pem;
ssl_certificate_key /path/to/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}
建议同时配置HTTP强制跳转HTTPS:
server {
listen 80;
server_name your_domain.com;
return 301 https://$host$request_uri;
}
三、验证配置与测试
完成配置后需执行以下步骤:
- 检查配置文件语法:
nginx -t
- 重新加载配置:
systemctl reload nginx
- 通过浏览器访问
https://your_domain.com
验证证书状态
本文介绍了从证书生成到Nginx配置的完整流程。建议优先使用Certbot等自动化工具管理证书,既保障安全性又简化续期流程。配置完成后应定期检查证书有效期,并开启HSTS等安全增强功能。