互联网上不良分子的决心和聪明行为似乎没有止境。 几乎每天,有关网络入侵、数据盗窃或勒索软件攻击的新闻都会登上头条新闻。 其后果可能是灾难性的,因此保护网络资产和流量不落入黑客的恶意手中变得越来越重要。
作为互联网流量的主要类型之一,浏览器和网站之间的 HTTP 流量当然容易受到这些攻击。 保护 HTTP 流量免遭窃听和篡改的一个基本方法是使用传输层安全性(TLS) 协议对其进行加密。 加密流量的正确名称是HTTPS 流量,其中S代表安全,但大多数情况下使用纯HTTP来指代这两种流量类型。
您可以通过查看 URL 来判断网站是否支持加密:
使用加密时,许多浏览器还会在地址栏左端显示挂锁图标。
笔记: TLS 的前身安全套接字层 (SSL) 现已弃用,但尽管存在安全漏洞,仍然相当常用。 类似地,在提及 HTTP 流量加密时通常使用术语SSL (或SSL/TLS ),即使实际使用的是 TLS 。
作为 NGINX 中 SSL/TLS 加密的快速介绍,让我们看一些指令。 HTTPS 的基本 NGINX 配置非常简单:
服务器 { 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_certificate
和ssl_certificate_key
指令命名存储域的 TLS 证书和密钥的文件。 ssl_protocols
和ssl_ciphers
指令分别指定此 NGINX虚拟服务器支持哪些版本的 SSL/TLS 和哪些密码套件(加密算法)。 有了这些指令,NGINX 会与客户端协商建立安全连接并提供经过您的证书验证的 HTTPS 内容。
描述如何使用 HTTPS 指令是一回事,但理解证书、密钥和密码背后的概念则要复杂得多。 如需全面、易懂的介绍,请观看我们的免费点播网络研讨会NGINX 101: 使用 SSL/TLS 和 NGINX 进行 Web 流量加密。
在网络研讨会中,您可以深入了解网络流量加密并了解:
如果您有兴趣开始使用 NGINX 开源并且还有疑问,请加入 NGINX 社区 Slack – 介绍自己并了解这个 NGINX 高级用户社区! 如果您已准备好使用 NGINX Plus,请立即开始30 天免费试用或联系我们讨论您的用例。
“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”