HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层。HTTPS 不同于 HTTP 的端口,HTTP 默认端口为80,而 HTTPS 默认端口为 443。
SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:
- 数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听;
- 用户可以通过服务器证书验证他所访问的网站是否真实可靠。
为了方便大家快速自己部署 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 哦!