互联网恶意行为者似乎总能凭借执着和狡猾的手段不断突破边界。几乎每天都有新的网络入侵、数据窃取或勒索软件攻击事件登上新闻头条。这些事件可能造成灾难性后果,因此,保护Web资产和流量免遭黑客侵害变得愈发重要。
作为互联网流量的主要类型之一,浏览器与网站之间的HTTP流量自然也会遭受这些攻击。保护HTTP流量免遭窃听和篡改的一种基本方法是使用传输层安全(TLS)协议对其进行加密。加密后的流量准确来说称为HTTPS流量,其中S代表安全,但在大多数情况下,通常直接使用HTTP来统称这两种流量。
可通过查看URL判断网站是否支持加密:
- 以https://开头的URL使用加密连接
- 以http://开头的URL未加密
使用加密连接时,许多浏览器还会在地址栏左端显示挂锁图标。
注意:TLS的前身安全套接字层(SSL)现已弃用,但尽管存在安全弱点,仍然相当常用。同样,在指代HTTP流量加密时,经常使用术语“SSL”(或“SSL/TLS”),即使实际使用的是TLS。
SSL/TLS与NGINX
下面通过一些指令,快速了解NGINX中的SSL/TLS加密。NGINX的基本HTTPS配置非常简单:
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;
#...
}The listen指令指示NGINX在端口 443 上侦听发往指定域名的HTTPS流量(由ssl参数指定)。该域名由server_name指令指定(此处为www.example.com)。
The ssl_certificate和ssl_certificate_key指令指定用于存储该域名的TLS证书和密钥的文件。ssl_protocols和ssl_ciphers指令分别指定此NGINX虚拟服务器支持的SSL/TLS版本和密码套件(加密算法)。配置这些指令后,NGINX会与客户端协商建立安全连接,并提供经证书验证的HTTPS内容。
观看网络研讨会
介绍HTTPS指令的用法是一回事,而理解证书、密钥和密码套件背后的概念则复杂得多。如需全面易懂的入门介绍,请观看我们的免费点播网络研讨会NGINX 101:使用SSL/TLS和NGINX加密Web流量。
在本次网络研讨会中,您可以深入了解Web流量加密,并学习以下内容:
- NGINX如何与客户端建立受HTTPS保护的会话
- NGINX基础和高级配置,并提供实时演示
- 将HTTP请求重定向到HTTPS的方法
- 推荐的TLS设置
如果您有兴趣开始使用NGINX Open Source,但仍有疑问,欢迎加入NGINX社区Slack,介绍一下自己,并结识这个由NGINX资深用户组成的社区!如果您已准备好使用NGINX Plus,可立即开始30天免费试用,或联系我们,讨论您的用例。
关于作者
相关博客文章
NGINX Plus R26 正式发布
NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。
使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。
Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。
NGINX Plus R19 正式发布
NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。
NGINX现已正式加入F5
NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。

