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

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

公众号新闻

作者 | Sergio De Simone
译者 | 张卫滨
策划 | 丁晓昀

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 作为第一个支持的语言,但对其他语言的支持已经在进行中,包括 Rust 和 JavaScript。对其他语言(如 Java、C#、Python 和 Ruby)的支持预计很快就会纳入路线图,这也会基于用户的反馈。

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

原文链接:

https://www.infoq.com/news/2023/03/ngrok-go-ingress-package/

文章版权归极客邦科技 InfoQ 所有,未经许可不得转载。

你也「在看」吗? 👇

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
「傲雪睿视」完成数千万元Pre-A轮融资,致力于打造适用于元宇宙的XR终端丨36氪首发昨天俺LD跟儿孙去威斯勒Whistler滑雪 孙女去Cypress滑雪谷爱凌一身红色旗袍纽约发表演讲 致力于扩展亚裔和华人影响力【首发】瑞莱谱医疗完成近亿元A2+轮融资,致力于提供领先的临床质谱解决方案和服务最受 IT 公司欢迎的 30 款开源软件,你用过几款呢?致力于成为「电动摩托届的特斯拉」,SWAP获千万美元级别Pre-A+轮融资|36氪首发背负着整个现代网络,却因“缺钱”放弃开源,core-js 负责人痛诉:“免费开源软件的根基已经崩塌了”User Sues Chinese Streaming Giant iQiyi for Curbing Access想当业主协会会长的都是什么人?路透社:开源软件 成为贸易战的重要环节坐骑科技获千万级天使轮融资,致力于打造封闭式窄体微型电动车|36氪首发Brokerage Apps Allowing Overseas Trading Pulled From App Stores在美留学生如何提前拿到身份,以便更容易地找工作Chinese University Fires Professor Accused of Sexual Harassment全国妇女儿童心理健康学术大会举办-致力于妇女儿童心理健康守正创新 浦银安盛致力于为投资者提供长期可持续价值Young Chinese Embrace Temple Visits to Evade Life’s Pressures可以替代微软 Exchange 的 5 个开源软件 | Linux 中国多多八卦王室《备胎》: (2) 横看成岭侧成峰,远近高低各不同古巴行 (1) - 初识古巴,世外桃源 Vinales每天对老婆大人上下其手。。。拜登费城东北区发表预算提案|东北区华人超市附近劫案,费城东北区发展会与政,警两界合作致力于维护公共安全开源软件:存在成功的捷径吗? | Linux 中国哈佛与斯坦福校友联创,精密发酵初创已筹330万美元种子前融资,致力于开发下一代微生物宿主【首发】苏高新金控领投,诺一迈尔完成数亿元B轮融资,致力于组织工程支架系列产品“创新+国际化”借助开源软件开发包尝试量子计算编程 | Linux 中国开源软件:甲骨文和苹果最爱Windows将支持ChatGPT插件/孙燕姿:争不过AI/动视暴雪称将「致力于中国市场」【首发】弘盛资本完成第一期市场化医疗基金首关,致力于打造医疗“生态+赋能”产业投资闭环百度将于3月推出类ChatGPT风格的机器人,嵌入到自家搜索服务中FFmpeg 6.0发布;cURL作者公开指责微软;开源软件成为贸易战的重要环节 | 周热点硬核观察 #948 俄罗斯开发者被阻止向“自由及开源软件”贡献天赋“易昺(bǐng)”,创造历史!秦刚:中国始终致力于有中国特色的热点问题解决之道路透社:开源软件成为贸易战的重要环节
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。