介绍
SSL即Secure Sockets Layer,翻译成中文是安全套接字协议,SSL及其TLS是为网络通信提供安全及数据完整性的一种安全协议。
SSL证书是遵守SSL协议的一种数字证书,由正规的数字证书颁发机构签发,主要用来数据加密传输和服务器身份认证,是实现网站https加密传输的唯一途径。
下面将介绍基于docker安装的Nginx如何进行SSL配置。
前提
该篇章将不再讲述如何基于docker安装Nginx了,不清楚的可以查看之前的文章 -- Nginx -- 基于Docker的安装。
已有ICP备案通过的域名,以我为例,是在腾讯云注册的域名,所以后续下载证书等操作,都是在腾讯云操作的。
步骤:
1、下载SSL证书
2、解压证书并上传服务器
仅需要上传这两个文件yiduoyun.space_bundle.crt,yiduoyun.space.key(每个人的证书名称都可能不一样,认准后缀名即可)
3、确认docker的映射路径,用于后续配置文件中配置证书路径
#查找nginx容器的名称
docker ps
#查找docker容器映射关系
docker inspect my_nginx | grep Mounts -A 30
4、编辑nginx配置文件
具体配置看个人,证书路径用docker中nginx的路径,我们的文件放在对应的映射路径下。
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name www.yiduoyun.space;
#证书文件名称
ssl_certificate /etc/nginx/conf.d/yiduoyun.space_bundle.crt;
#私钥文件名称
ssl_certificate_key /etc/nginx/conf.d/yiduoyun.space.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站运行目录在/etc/www下,则填写/etc/www。
#配置反向代理
proxy_pass http://www.yiduoyun.space:8090;
#避免原ip统计不到
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
5、重启docker的nginx容器服务
docker restart my_nginx
评论区