你们好!分享即关怀,咱们很乐意与你分享其余的一些知识。咱们准备了一个 Nginx 指南,分为三个系列。若是你已经知道一些 Nginx 知识或者想扩展你的经验和认知,这个再合适不过了。html
咱们将告诉你 Nginx 的运做模式、蕴含的概念,怎样经过调优 Nginx 来提升应用性能,或是如何设置它的启动和运行。nginx
基本概念 —— 这部分须要去了解 Nginx 的一些指令和使用场景,继承模型,以及 Nginx 如何选择 server 块,location 的顺序。浏览器
性能 —— 介绍改善 Nginx 速度的方法和技巧,咱们会在这里谈及 gzip 压缩,缓存,buffer 和超时。缓存
SSL 安装 —— 如何配置服务器使用 HTTPS安全
建立这个系列,咱们但愿,一是做为参考书,能够经过快速查找到相关问题(好比 gzip 压缩,SSL 等)的解决方式,也能够直接通读全文。为了得到更好的学习效果,咱们建议你在本机安装 Nginx 而且尝试进行实践。服务器
SSL(Socket Secure Layer 缩写)是一种经过 HTTP 提供安全链接的协议。
SSL 1.0 由 Netscape 开发,但因为严重的安全漏洞从未公开发布过。SSL 2.0 于 1995 年发布,它存在一些问题,致使了最终的 SSL 3.0 在 1996 年发布。
TLS(Transport Layer Security 缩写)的第一个版本是做为 SSL 3.0 的升级版而编写的。以后 TLS 1.1 和 1.2 出来了。如今,就在不久以后,TLS 1.3 即将推出(这确实值得期待),而且已经被一些浏览器所支持。
从技术上讲,SSL 和 TLS 是不一样的(由于每一个协议都描述了协议的不一样版本),但其中使用的许多名称是能够互换的。性能
为了处理 HTTPS 流量,你须要具备 SSL/TLS 证书。你能够经过使用 Let’s encrypt 以生成免费的证书。学习
我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,立刻就要抢光了。阿里云
当你拥有证书以后,你能够经过如下的方式轻易切换至 HTTPS:spa
开始监听端口 443(当你输入 https://sample.co 时浏览器将使用的默认端口)
提供证书及其密钥
server { listen 443 ssl default_server; listen [::]:443 ssl default_server; ssl_certificate /etc/nginx/ssl/netguru.crt; ssl_certificate_key /etc/nginx/ssl/netguru.key; }
咱们也想经过调整配置实现:
仅使用 TLS 协议。因为众所周知的漏洞,全部的 SSL 版本都将再也不使用
使用预约义的安全的服务器密码(相似于协议的状况 - 那些日子只有少数密码被认为是安全的)
请牢记,上述设置老是在变化的。时不时从新更新是个好主意。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5; ssl_prefer_server_ciphers on; server { listen 443 ssl default_server; listen [::]:443 ssl default_server; ssl_certificate /etc/nginx/ssl/netguru.crt; ssl_certificate_key /etc/nginx/ssl/netguru.key; }
使用 HTTPS,在 TCP 之上须要增长 TLS 握手。这大大增长了此前实际数据传输的时间。假设你从华沙请求 /image.jpg,并接入到柏林最近的服务器: