写点什么

基础知识回顾:借助 SSL/TLS 和 NGINX 进行 Web 流量加密

  • 2023-08-30
    北京
  • 本文字数:938 字

    阅读完需:约 3 分钟

基础知识回顾:借助 SSL/TLS 和 NGINX 进行 Web 流量加密

原文作者:Robert Haynes

原文链接:基础知识回顾:借助 SSL/TLS 和 NGINX 进行 Web 流量加密

NGINX 唯一中文官方社区 ,尽在http://nginx.org.cn


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


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


您可以通过查看 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_certificate 和 ssl_certificate_key 指令指定了存储该域的 TLS 证书和密钥的文件。ssl_protocols 和 ssl_ciphers 指令分别指定了此 NGINX 虚拟服务器支持的 SSL/TLS 版本和密码套件(加密算法)。有了这些指令,NGINX 就可以与客户端协商安全连接,并提供经过证书验证的 HTTPS 内容。



NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

更多 NGINX 相关的技术干货、互动问答、系列课程、活动资源: 开源社区官网微信公众号

用户头像

NGINX唯一中文官方社区 2022-07-04 加入

- 微信公众号:https://mp.weixin.qq.com/s/XVE5yvDbmJtpV2alsIFwJg - 微信群:https://www.nginx.org.cn/static/pc/images/homePage/QR-code.png?v=1621313354 - B站:https://space.bilibili.com/628384319

评论

发布
暂无评论
基础知识回顾:借助 SSL/TLS 和 NGINX 进行 Web 流量加密_nginx_NGINX开源社区_InfoQ写作社区