前言

为网站域名申请SSL/TLS证书是一笔只赚不赔的买卖,全站实现https加密传输至少有以下好处:

  • 提升信息传输安全性,内容防篡改;
  • 防止中间环节(比如运营商)对通信双方造成的干扰(比如插入广告或宽带到期提醒。。。);
  • 提升站点档次,获得访问者认可;
  • 提高搜索引擎排名
  • 提升浏览器信任度
    目前https证书系统已成为互联网通信公认基础要素,如果你的网站仍然使用http协议,赶紧去腾讯云免费申请一个吧~

腾讯云申请免费ssl证书步骤

  • 登录腾讯云,管理控制台,找到ssl证书
    腾讯云-申请免费证书-定位ssl菜单

  • 选择免费证书 -> 点击”申请免费证书”按钮(一个账户限额50张)
    腾讯云-申请免费证书-找到申请按钮

  • 弹出窗口中,继续点击”申请免费证书”
    腾讯云-申请免费证书-申请免费证书确认

  • 填写域名认证信息
    腾讯云-申请免费证书-申请免费证书确认

  • 证书绑定域名,比如填写一个二级域名,那么这个证书就和该域名绑定;

  • 域名验证方式,选择”手动DNS验证”,需要到域名服务商那里,增加1个cname解析;

  • 算法选择”RSA”,默认即可;

  • 验证域名
    腾讯云-申请免费证书-申请免费证书-验证域名
    登录域名服务提供商控制面板,按照页面提示,增加cname解析值,如下:
    腾讯云-申请免费证书-为域名添加CNAME解析

  • 添加完成后,等1分钟,点击申请验证按钮,即完成申请,此时会收到腾讯云发送的短信。
    腾讯云-申请免费证书-为域名添加CNAME解析

  • 下载证书(Nginx)

  • 上传证书并解压,该目录下存放4个文件:
    - blog.wisepkg.com.csr
    - blog.wisepkg.com.key
    - blog.wisepkg.com_bundle.crt
    - blog.wisepkg.com_bundle.pem

  • 最后一步,配置nginx, 首先给nginx对应的80端口设置转发规则:

    1
    2
    3
    4
    5
    6
    7
    ...
    server {
    listen 80;
    server_name blog.wisepkg.com;
    rewrite ^(.*)$ https://$host$1 permanent;
    }
    ...
  • 进入/etc/nginx/conf.d目录,创建1个独立配置文件,blog.wisepkg.com.conf,配置内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    server {
    listen 443 ssl;
    server_name blog.wisepkg.com;

    # 配置该域名访问日志,确保目录存在
    access_log /var/log/nginx/blog.wisepkg.com/access.log;
    # 错误日志,确保目录存在
    error_log /var/log/nginx/blog.wisepkg.com/error.log;

    ssl_certificate /opt/ssl/blog.wisepkg.com/blog.wisepkg.com_bundle.crt;
    ssl_certificate_key /opt/ssl/blog.wisepkg.com/blog.wisepkg.com.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    location / {
    root /home/ec2-user/blog.wisepkg.com/public;
    index index.html;
    }
    }
  • 验证配置正确性。

    1
    2
    3
    nginx -t
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  • 重载或重启nginx进程

    1
    2
    3
    4
    # 重载
    nginx -s reload
    # 重启
    systemctl restart nginx

讲到这里,ssl证书的申请和配置已经差不多交代清楚,但还有1个问题需要补充,如何对同一个IP配置多个ssl证书,绑定不同的域名呢?
凭借Nginx易用性,只需要像上面那样,再多加1个80和443的配置文件即可!