HTTPS配置方案
本文基于腾讯云的域名配置,以及七牛云CDN和自建CDN两种情况
申请SSL证书
打开腾讯云,找到SSL证书
选择申请免费证书
填写要配置https的域名,最好是已经配置云解析的域名
等待10分钟左右,之后下载
下载完成,解压后,得到如图目录
其中Apache内容
Nginx内容
七牛云CDN
- 打开七牛云SSL证书服务
上传已有证书
打开下载好的证书的Apache文件夹,找到同名但后缀不同的两个文件,然后贴入文本框中
上传完毕后可在我的证书中看到,点击部署CDN
如果你的证书名称和域名一样,那么点击部署即可一键升级HTTPS,然后等待半小时,收到邮件即是升级成功
自建CDN
打开Nginx文件夹,将crt和key都上传到服务器的nginx文件夹中
编辑default.conf文件为如下模样
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25server {
listen 443 ssl; # HTTPS的端口号就是443
server_name ali.ringoer.com; # 你的域名,要与证书一致
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log error;
ssl_certificate 1_ali.ringoer.com_bundle.crt; # 你的crt,与你上传的同名
ssl_certificate_key 2_ali.ringoer.com.key; # 你的key,与你上传的同名
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on; # 这几条不变
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}配置Dockerfile为如图,注意default.conf配置文件和证书不在同一个文件夹
1
2
3
4FROM nginx
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
COPY nginx/2_ali.ringoer.com.key /etc/nginx/2_ali.ringoer.com.key
COPY nginx/1_ali.ringoer.com_bundle.crt /etc/nginx/1_ali.ringoer.com_bundle.crtdocker build创建镜像,然后用如下命令挂载目录再运行
1
docker run -d --name static -p 443:443 -v /root/static/dist:/usr/share/nginx/html static