配置HTTPS方案

HTTPS配置方案

本文基于腾讯云的域名配置,以及七牛云CDN和自建CDN两种情况

申请SSL证书

  1. 打开腾讯云,找到SSL证书

    SSL

  2. 选择申请免费证书

    申请免费证书

  3. 填写要配置https的域名,最好是已经配置云解析的域名

    填写信息

  4. 等待10分钟左右,之后下载

    下载

  5. 下载完成,解压后,得到如图目录

    下载

    其中Apache内容

    下载

    Nginx内容

    下载

七牛云CDN

  1. 打开七牛云SSL证书服务

  1. 上传已有证书

    下载

  2. 打开下载好的证书的Apache文件夹,找到同名但后缀不同的两个文件,然后贴入文本框中

    下载

  3. 上传完毕后可在我的证书中看到,点击部署CDN

    下载

  4. 如果你的证书名称和域名一样,那么点击部署即可一键升级HTTPS,然后等待半小时,收到邮件即是升级成功

    下载

自建CDN

  1. 打开Nginx文件夹,将crt和key都上传到服务器的nginx文件夹中

    下载

  2. 编辑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
    25
    server {
    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;
    }
    }
  3. 配置Dockerfile为如图,注意default.conf配置文件和证书不在同一个文件夹

    1
    2
    3
    4
    FROM 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.crt
  4. docker build创建镜像,然后用如下命令挂载目录再运行

    1
    docker run -d --name static -p 443:443 -v /root/static/dist:/usr/share/nginx/html static
--It's the end.Thanks for your read.--