Nginx 教程 #3:SSL 设置

你们好!分享即关怀,咱们很乐意与你分享其余的一些知识。咱们准备了一个 Nginx 指南,分为三个系列。若是你已经知道一些 Nginx 知识或者想扩展你的经验和认知,这个再合适不过了。html

咱们将告诉你 Nginx 的运做模式、蕴含的概念,怎样经过调优 Nginx 来提升应用性能,或是如何设置它的启动和运行。nginx

这个教程有三个部分:

  • 基本概念 —— 这部分须要去了解 Nginx 的一些指令和使用场景,继承模型,以及 Nginx 如何选择 server 块,location 的顺序。浏览器

  • 性能 —— 介绍改善 Nginx 速度的方法和技巧,咱们会在这里谈及 gzip 压缩,缓存,buffer 和超时。缓存

  • SSL 安装 —— 如何配置服务器使用 HTTPS安全

建立这个系列,咱们但愿,一是做为参考书,能够经过快速查找到相关问题(好比 gzip 压缩,SSL 等)的解决方式,也能够直接通读全文。为了得到更好的学习效果,咱们建议你在本机安装 Nginx 而且尝试进行实践。服务器

SSL 和 TLS

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 是不一样的(由于每一个协议都描述了协议的不一样版本),但其中使用的许多名称是能够互换的。性能

基本 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;
}

TLS 会话恢复

使用 HTTPS,在 TCP 之上须要增长 TLS 握手。这大大增长了此前实际数据传输的时间。假设你从华沙请求 /image.jpg,并接入到柏林最近的服务器:

相关文章
相关标签/搜索