我当前使用的Nginx下站点SSL证书配置分享

  HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层。HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为443。

  SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:

  • 1、数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听;
  • 2、用户可以通过服务器证书验证他所访问的网站是否真实可靠。

79.jpg

为了方便大家快速自己部署SSL,明月分享出来自己一直在用的Nginx下SSL站点配置里有关SSL部分的配置节选,以供大家参考。

Server{

#指定SSL证书地址
ssl_certificate /home/wwwroot/www.mydomain.com/www.mydomain.com.cer;
ssl_certificate_key /home/wwwroot/www.mydomain.com/www.mydomain.com.key;
#隐藏nginx版本号
server_tokens   off;
proxy_hide_header        X-Powered-By;
#HSTS支持
add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload";
add_header X-Content-Type-Options nosniff;
#SSL证书加密协议
ssl_ciphers "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:DES-CBC3-SHA;";
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_buffer_size 1400;
ssl_stapling on;
ssl_stapling_verify on; 
}

目前看,HTTPS的性能还需要TLS 1.3的加持,希望今年可以用上TLS 1.3哦!

最后修改:2017 年 10 月 24 日 10 : 00 AM
如果觉得我的文章对你有用,请随意赞赏

8 条评论

  1. 99八十一

    ssl配置还是麻烦,搞简单点多好。

    1. 明月登楼
      @99八十一

      呵呵,我感觉未来Let's Encrypt证书是最有可能简单化的!

  2. 王光卫博客

    这个保留起,万一那天用lnmp环境

    1. 明月登楼
      @王光卫博客

      呵呵,多谢支持!

  3. 陈大猫

    不明觉厉,我是用的面板自动配置。

    1. 明月登楼
      @陈大猫

      呵呵,面板呀,我一直不喜欢用,还是控制台终端看着用着亲切!

  4. 老何

    不错,这个配置很完整

    1. 明月登楼
      @老何

      呵呵,集众家之长的!

发表评论