NGINX.COM
Web Server Load Balancing with NGINX Plus

网络攻击者肆无忌惮、作恶多端,几乎每天都有网络入侵、数据窃取或勒索软件攻击事件登上新闻头条。这些攻击可能会带来灾难性的后果,因此保护 Web 资产和流量不落入黑客之手变得越来越重要。

作为互联网流量的主要类型之一,浏览器和网站之间的 HTTP 流量必然会成为这些攻击的目标。保护 HTTP 流量免遭窃听和篡改的一种基本方法是使用传输层安全 (TLS) 协议对其进行加密。加密流量就是所谓的“HTTPS 流量”,其中“S”代表“安全(secure)”,而在大多数情况下,普通“HTTPP”用于同时指代这两种流量类型。

您可以通过查看 URL 来判断网站是否支持加密:

  • https:// 开头的 URL 使用加密
  • http:// 开头的 URL 没有加密

使用加密时,许多浏览器还会在地址栏的左端显示挂锁图标。

注:TLS 的前身安全套接字层 (SSL) 现已弃用,尽管存在安全漏洞,但仍被广泛使用。同样,术语 SSL(或 SSL/TLS)通常用于指代 HTTP 流量的加密,即使在实际使用 TLS 时也是如此。

 

SSL/TLS 和 NGINX

为了帮助您快速了解 NGINX 中的 SSL/TLS 加密,我们来看一些指令。HTTPS 的基本 NGINX 配置非常简单:

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    #...
}

listen 指令指示 NGINX 侦听 443 端口,监测使用 server_name 指令所指定的域(此处为 www.example.com)的 HTTPS 流量(ssl 参数)。

ssl_certificatessl_certificate_key 指令指定了存储该域的 TLS 证书和密钥的文件。ssl_protocolsssl_ciphers 指令分别指定了此 NGINX 虚拟服务器支持的 SSL/TLS 版本和密码套件(加密算法)。有了这些指令,NGINX 就可以与客户端协商安全连接,并提供经过证书验证的 HTTPS 内容。

 

观看网络研讨会

描述如何使用 HTTPS 指令是一回事,但理解证书、密钥和密码背后的概念则要复杂得多。如欲深入浅出地了解流量加密,请观看我们免费的点播网络研讨会 — NGINX 101:使用 SSL/TLS 和 NGINX 进行 Web 流量加密

在网络研讨会中,您可以深入了解 Web 流量加密并学习:

  • NGINX 如何与客户端建立受 HTTPS 保护的会话
  • 基本和高级 NGINX 配置(提供实时演示)
  • 将 HTTP 请求重定向到 HTTPS 的方法
  • 推荐的 TLS 设置

如果您对 NGINX 开源版感兴趣,但仍然有疑问,请添加小 N 助手(微信号:nginxoss)加入 NGINX 官方社区群,与社区的小伙伴们进行互动答疑!如欲试用 NGINX Plus,请立即下载 30 天免费试用版,或与我们联系以讨论您的用例

Hero image
《NGINX 完全指南》2024 年最新完整版


高性能负载均衡的进阶使用指南

关于作者

Robert Haynes

技术营销经理

关于 F5 NGINX

F5, Inc. 是备受欢迎的开源软件 NGINX 背后的商业公司。我们为现代应用的开发和交付提供一整套技术。我们的联合解决方案弥合了 NetOps 和 DevOps 之间的横沟,提供从代码到用户的多云应用服务。访问 nginx-cn.net 了解更多相关信息。