QCon北京|3天沉浸式学习,跳出信息茧房。 了解详情
写点什么

开源软件包 ngrok-go 致力于让 Ingress 更容易地嵌入到 Go 应用中

  • 2023-03-29
    北京
  • 本文字数:898 字

    阅读完需:约 3 分钟

开源软件包ngrok-go致力于让Ingress更容易地嵌入到Go应用中

Ngrok-go是一个地道的(idiomatic)的 Go 软件包,它使 Go 应用程序能够通过 ngrok 的 ingress 即服务(ingress-as-a-service)平台安全地接收网络请求,就像监听本地端口一样。


ngrok-go 旨在简化网络 ingress 的创建,它负责处理网络栈中不同层的一些低级网络基元(primitive),这些基元目前需要由开发人员来设置,以启用网络 ingress。它们包括 DNS、TLS 证书、网络级 CIDR 策略、IP 与子网路由、负载均衡、VPN 和 NAT。


ngrok-go 可以看作一种将 ngrok 代理打包并嵌入 Go 应用程序的方式,从而为捆绑 ngrok 来创建网络 ingress 的应用消除了巨大的复杂性,例如物联网设备、CI/CD 流水线等。


ngrok-go 让开发人员只需一行代码就能将 Go 应用发布到互联网上,而无需设置 IP、证书、负载均衡器甚至端口等低级别的网络基元!


要通过 ngrok 将 ingress 嵌入 Go 应用,开发人员只需调用 ngrok-go 提供的ngrok.Listen原语即可。如果你的环境有ngrok authtoken的话,对Listen的调用将初始化与 ngrok 的安全和持久连接,并传输你所指定的配置需求,包括 URL、认证、IP 限制等,例如:


ngrok.Listen(ctx,        config.HTTPEndpoint(        config.WithDomain("my-app.ngrok.io"),        config.WithAllowCDIRString("192.30.252.0/22"),        config.WithCircuigBreaker(0.8),        config.WithCompression(),        config.WithOAuth("github")       ),        ngrok.WithAuthtokenFromEnv(),)
复制代码


调用Listen时指定的所有策略都由 ngrok 执行,它在边缘处拒绝所有未经授权的请求,这意味着只有有效的请求才能到达 Go 应用。


使用 ngrok-go 的另一个优势是它在 ingress 方面的“可移植性”。这意味着使用它的应用将以同样的方式运行,与底层平台无关,无论是裸机、虚拟机、AWS、Azure、Kubernetes 等均是如此。


虽然 ngrok 选择 Go 作为第一个支持的语言,但对其他语言的支持已经在进行中,包括RustJavaScript。对其他语言(如 Java、C#、Python 和 Ruby)的支持预计很快就会纳入路线图,这也会基于用户的反馈。


如果你有兴趣尝试,ngrok-go可以在GitHub上找到官方的入门指南是一个很好的起点。


原文链接:

Open-Source Package ngrok-go Aims to Make it Easier to Embed Ingress into Go Apps

2023-03-29 08:004941

评论

发布
暂无评论
发现更多内容

CST电磁仿真——如何合并两个模型并保持参数化

思茂信息

教程 cst 电磁仿真

简体中文版excel2019-正版激活-永久使用

Rose

无人机管理系统(源码+文档+部署+讲解)

深圳亥时科技

仓储管理系统-生产企业版(源码+文档+部署+讲解)

深圳亥时科技

数字身份管理面临的多方挑战

芯盾时代

数字身份 身份安全 身份管理

最佳 Mac 网站创建器:RapidWeaver 9

Rose

VMware vCenter Server 8.0U2e 发布下载,修复堆溢出漏洞 (CVE-2024-38812) 和权限提升漏洞 (CVE-2024-38813)

sysin

vSphere vcenter esxi

DaVinci Resolve v19.0.3激活版 达芬奇mac版安装教程

Rose

Fig Player - play mp4 mkv mp3:高清媒体播放器

Rose

EndNote 21授权密钥2024最新 EndNote 21下载安装包

Rose

ByteHouse直播预告:揭秘基于OLAP降本增效的四大硬招

字节跳动数据平台

大数据 活动

仓储管理系统-贵金属(源码+文档+部署+讲解)

深圳亥时科技

AI语音模型在家宽业务中的应用

鲸品堂

企业号 2024年10月PK榜

里程碑丨Milvus在GitHub上的Stars数量突破30,000!

Zilliz

开源 Milvus Zilliz 向量数据库

VMware vCenter Server 8.0U3d 发布下载,修复堆溢出漏洞 (CVE-2024-38812) 和权限提升漏洞 (CVE-2024-38813)

sysin

vSphere vcenter esxi

Autodesk AutoCAD 2025 简体中文版下载【Mac/win】

Rose

灵活用工招聘平台(源码+文档+部署+讲解)

深圳亥时科技

数据集成进化论:从传统 ETL 到数据编织的跨越

Aloudata

场地预约系统(源码+文档+部署+讲解)

深圳亥时科技

LED全彩显示屏的9大优点

Dylan

广告 LED display LED显示屏 市场 体育

深入探讨 TDengine S3:让你的数据管理更轻松

TDengine

数据库 时序数据库 #TDengine

VMware vCenter Server 7.0U3t 发布下载,修复堆溢出漏洞 (CVE-2024-38812) 和权限提升漏洞 (CVE-2024-38813)

sysin

vmware vcenter esxi

Topaz Gigapixel AI 8.0.0:更大更清晰更真实,将任何图像放大 16 倍并增强

Rose

TDengine 与新奥新智达成合作,支撑海量设备、亿级数据

TDengine

数据库 tdengine 时序数据库

品讯HRO系统(源码+文档+部署+讲解)

深圳亥时科技

前OpenAI首席技术官为新AI初创公司筹资;我国发布首个应用临床眼科大模型 “伏羲慧眼”|AI日报

可信AI进展

diskdrill激活码分享 优秀的数据恢复工具

Rose

智慧灌区系统(源码+文档+部署+讲解)

深圳亥时科技

ClickHouse在百度MEG数据中台的落地和优化

百度Geek说

数仓引擎;ClickHouse;

Screaming Frog SEO Spider:网站爬虫及SEO审计工具

Rose

溯源管理系统(源码+文档+部署+讲解)

深圳亥时科技

开源软件包ngrok-go致力于让Ingress更容易地嵌入到Go应用中_开源_Sergio De Simone_InfoQ精选文章