0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Cloudflare用Rust重写Nginx C模块,构建没有Nginx的未来

Linux爱好者 来源:OSC开源社区 2023-03-08 09:36 次阅读

去年曾报道过,Cloudflare 将 Nginx 替换为内部采用 Rust 编写的 Pingora,目标是构建一个更快、更高效、更通用的内部代理,用作 Cloudflare 当前和未来产品的平台。不过 Cloudflare 的基础设施非常庞大,并且包含许多不同的服务。

近日,Cloudflare 工程师介绍了如何使用 Rust 重写基于 C 语言的 Nginx 模块。Cloudflare 工程师在博客写道,他们用 Rust 为 Cloudflare 基础设施中最古老和最不为人所知的部分 ——cf-html,编写了替代品。这是一个 Nginx 模块,位于 Cloudflare 的核心反向 Web 代理内部,亦称为 FL (Front Line)。

FL 运行着 Cloudflare 应用程序服务的大部分逻辑,因此这次替换无疑更具挑战性。Cloudflare 称,完成这项工作为他们完全摆脱 Nginx 铺平了道路。未来他们会继续逐步更换用于运行 Nginx/OpenResty 代理的组件,或者无需对自研平台投入大量开发资源就可以完成的组件,从而构建一个没有 Nginx 的未来 (A future without NGINX)。

61efee98-bd34-11ed-bfe3-dac502259ad0.png

Cloudflare 工程师非常热爱 Rust 语言,他们最后谈到了 Rust 带来的好处:“大多数人认为编程语言的安全性主要是用于预防出现 bug,但对于一家公司来说,我们发现编程语言的安全优势还可以用来完成一些被认为非常困难、或不可能安全实现的功能需求。比如提供类似 Wireshark 的过滤语言来编写防火墙规则、允许数百万用户编写任意 JavaScript 代码并直接在我们的平台上运行它,以及即时重写 HTML 响应。在实现上述功能过程中,Rust 为这些服务提供了严格的执行边界,让不可能变成可能。与此同时,Rust 让过去困扰行业的内存安全问题日益成为过去。”

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2717

    浏览量

    47544
  • Rust
    +关注

    关注

    1

    文章

    229

    浏览量

    6619

原文标题:Cloudflare用Rust重写Nginx C模块,构建没有Nginx的未来

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    EulerOS+Nginx+MySQL 部署 GLPI 资产管理系统

    安全保障,帮助企业实现资源的按需扩展,提升业务响应速度,确保服务的连续性和数据的安全性。  使用的操作系统镜像版本如下:   检查 Nginx 是否部署成功,如果返回如下信息表示 Nginx 安装成功:   接下来就可以在浏览器中访问https://124.70.44
    的头像 发表于 01-03 09:28 99次阅读
    EulerOS+<b class='flag-5'>Nginx</b>+MySQL 部署 GLPI 资产管理系统

    玩转Nginx日志管理:高效排查问题的终极指南

    Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求
    的头像 发表于 12-30 13:50 101次阅读

    nginx+lua+redis实现灰度发布

    作者:马仁喜 前言: 授人以鱼不如授人以渔 .先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力。这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备
    的头像 发表于 12-17 10:01 89次阅读

    Nginx日常运维方法Linux版

    -1.10.0-1.el7.ngx.x86_64.rpm 离线包其它方式下载也可以。 安装:rpm -ivh nginx-1.10.0-1.el7.ngx.x86_64.rpm 如果找不wget请安装,命令:yum -y install wget 2
    的头像 发表于 12-06 16:38 170次阅读
    <b class='flag-5'>Nginx</b>日常运维方法Linux版

    「服务器」Nginx Proxy Manager申请cloudflare泛域名

    一概述NginxProxyManager是一个基于Nginx的反向代理管理工具,它提供了一个用户友好的Web界面,方便用户管理和配置Nginx反向代理。主要功能包括:简易的用户界面:通过图形界面
    的头像 发表于 12-06 01:03 192次阅读
    「服务器」<b class='flag-5'>Nginx</b> Proxy Manager申请<b class='flag-5'>cloudflare</b>泛域名

    详解nginx中的正则表达式

    前言,我这里验证的nginx-v1.23.2单机环境下的nginx中的正则表达式、location路径匹配规则和优先级。
    的头像 发表于 12-03 09:59 203次阅读
    详解<b class='flag-5'>nginx</b>中的正则表达式

    确保网站无缝运行:Keepalived高可用与Nginx集成实战

    目录 keepalived高可用(nginx) keepalived简介 keepalived的重要功能 keepalived高可用架构图 keepalived工作原理描述 keepalived实现
    的头像 发表于 11-27 09:08 484次阅读
    确保网站无缝运行:Keepalived高可用与<b class='flag-5'>Nginx</b>集成实战

    nginx隐藏版本号与WEB服务器信息

    .org/download/nginx-1.14.1.tar.gz 2 解压 tar -xf nginx-1.14.1.tar.gzcd nginx-1.14.1 3 修改C文件 (1
    的头像 发表于 11-22 10:25 179次阅读
    <b class='flag-5'>nginx</b>隐藏版本号与WEB服务器信息

    nginx负载均衡配置介绍

    目录 nginx负载均衡 nginx负载均衡介绍 反向代理与负载均衡 nginx负载均衡配置 Keepalived高可用nginx负载均衡器 修改Web服务器的默认主页 开启
    的头像 发表于 11-10 13:39 263次阅读
    <b class='flag-5'>nginx</b>负载均衡配置介绍

    nginx中的正则表达式和location路径匹配指南

    前言,我这里验证的nginx-v1.23.2单机环境下的nginx中的正则表达式、location路径匹配规则和优先级。
    的头像 发表于 09-29 16:02 828次阅读
    <b class='flag-5'>nginx</b>中的正则表达式和location路径匹配指南

    Jtti:美国VPS开启nginx状态监控,查看web服务器的并发连接数

    :“--with-http_stub_status_module”,该模块在需要放到server里面的。 1、修改nginx.conf的文件例如: server { listen 80;server_name
    的头像 发表于 08-26 15:42 298次阅读

    nginx重启命令linux步骤是什么?

      nginx.conf test is successful   说明配置文件正确!   方法二:在启动命令-c前加-t   2、重启Nginx服务   方法一:进入nginx可执
    发表于 07-11 17:13

    nginx重启命令linux步骤是什么?

      nginx.conf test is successful   说明配置文件正确!   方法二:在启动命令-c前加-t   2、重启Nginx服务   方法一:进入nginx可执
    发表于 07-10 16:40

    一次Rust重写基础软件的实践

    受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款
    的头像 发表于 01-25 11:21 658次阅读

    Apache服务器和Nginx服务器

    Apache和Nginx都是常见的开源Web服务器软件,它们用于处理HTTP请求并提供网站和应用程序的服务。下面是对Apache和Nginx的一些基本特点的比较: 一、Apache HTTP
    的头像 发表于 01-22 16:48 576次阅读