【阿里云免费SSL证书申请并在Nginx中配置流程】如何申请免费的ssl证书并配置到自己的nginx服务器上
最近在捣鼓服务器相关的东西,简单记录一下如何申请免费SSL证书,并在nginx中配置,域名什么的自备,就不提及了总而言之还是蛮简单的,也算是经验,记录一下,有什么问题可以留言,一起讨论。
·
前言
最近在捣鼓服务器相关的东西,简单记录一下如何申请免费SSL
证书,并在nginx
中配置,域名什么的自备,就不提及了
正文
- 搜索并登录到阿里云数字证书管理服务
- 选择「SSL证书管理」 -> 「个人测试证书(免费证书)」 -> 「立即购买」,完成免费证书购买(有效期1年,最多签发20个)。,如图
- 返回证书控制台,点击「创建证书」,选择「免费证书」 -> 「证书申请」。
-
按照要求填写域名信息:
-
域名:填写需要加密的域名(如 example.com 或 *.example.com)。
-
验证方式:选择「DNS验证」或「文件验证」(推荐DNS验证,需在域名解析中添加TXT记录)。
-
提交申请后,根据提示完成域名验证(需几分钟到几小时生效)。
- 下载证书(如图)
-
验证通过后,证书状态变为「已签发」,点击「下载」。
-
选择「
Nginx
」格式,下载证书文件(包含.key
私钥和.pem
证书文件)。
- 将下载的证书文件上传到服务器的Nginx配置目录(如
/etc/nginx/certs/
)
# 创建证书目录
sudo mkdir -p /etc/nginx/certs/
# 上传文件(假设本地文件为 example.com.key 和 example.com.pem)
scp example.com.key user@your_server_ip:/etc/nginx/certs/
scp example.com.pem user@your_server_ip:/etc/nginx/certs/
- 编辑
Nginx
配置文件(nginx.conf
),增加SSL
认证块
server {
listen 443 ssl;
server_name example.com www.example.com;
# 证书路径
ssl_certificate /etc/nginx/certs/example.com.pem;
ssl_certificate_key /etc/nginx/certs/example.com.key;
# 优化SSL配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 其他配置(如root、index等)
root /var/www/html;
index index.html;
}
# HTTP重定向到HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
- 检查并重启
Nginx
sudo nginx -t # 检查语法是否正确
sudo systemctl reload nginx # 重新加载配置(或重启nginx)
常见问题
- 证书不信任
- 确保证书链完整(阿里云下载的
.pem
文件已包含中间证书)。
Nginx
报错
- 检查证书路径和权限:
sudo chmod 600 /etc/nginx/certs/*
- 防火墙未放行
443
端口
- 开放
443
端口:
sudo ufw allow 443/tcp
云服务器去安全组配置规则,放行443
端口
结语
总而言之还是蛮简单的,也算是经验,记录一下,有什么问题可以留言,一起讨论
更多推荐
所有评论(0)