Docker中Nginx配置阿里云ssl证书全流程
友情提示:最好是阿里云服务器和备案域名,混搭暂时没试过
Docker 安装文档
1. 获取免费ssl证书
打开阿里云官方搜索:ssl证书
2. 创建免费ssl证书
填写对应域名的用户申请信息,然后提交申请,等待状态变更为已签发
3. 下载ssl证书
点击下载,选择Nginx类型下载
4. 将ssl证书上传到服务器中
如果还未在Docker中创建Nginx容器,请参考Docker 安装Nginx并挂载目录
在Nginx容器的挂载配置文件夹中创建一个证书文件夹:cert
将下载证书压缩包解压得到 .key 和 .pem 后缀的文件
将这两个文件上传到创建的证书文件夹中
5. 修改配置文件
server {
#配置HTTPS的默认访问端口为443。
listen 443 ssl;
#需要将yourdomain.com替换成证书绑定的域名。
server_name yourdomain.com;
root html;
index index.html index.htm;
#需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate cert/cert-file-name.pem;
#需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
ssl_certificate_key cert/cert-file-name.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的TLS协议的类型
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.html index.htm;
}
}
按ESC键,输入:wq
保存退出
6. 检查配置文件是否正确
docker exec -it Nginx容器ID ./usr/sbin/nginx -t
如果提示Error,检查秘钥配置路径
这里配置秘钥路径为容器内的路径指向
7. 检查443端口是否开启
查看防火墙状态
systemctl status firewalld
如果防火墙开启状态,可以选择关闭或者添加端口
关闭防火墙
systemctl stop firewalld
查看防火墙已开放的端口
firewall-cmd --zone=public --list-ports
防火墙开放指定端口443(添加后刷新防火墙,执行指令)
firewall-cmd --zone=public --add-port=443/tcp --permanent
刷新防火墙
firewall-cmd --reload
在阿里云实例安全组中开放443端口
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 木子李
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果