首页 > 后端开发 > Golang > 正文

如何从 cronjobs 向安全 API 端点发出授权请求?

王林
发布: 2024-02-09 23:50:14
转载
874人浏览过

如何从 cronjobs 向安全 api 端点发出授权请求?

php小编草莓将为大家介绍如何从cronjobs向安全API端点发出授权请求。在开发Web应用程序时,我们常常需要使用cronjobs来执行一些定时任务。然而,直接从cronjobs发送请求可能存在安全风险,因此我们需要采取一些措施来确保请求的安全性。本文将详细解答这个问题,并提供实用的方法和建议,帮助开发者们解决这个问题。

问题内容

我有一个 golang 应用程序,它通过 JWT 令牌 进行 API 密钥授权

我正在使用 Kubernetes。所以,这个 golang 应用程序位于一个 pod 中。

现在,我想为 cronjobs 创建另一个应用程序,以便每周访问一次 golang 端点。

我需要什么:

如何执行/跳过授权?

跳过:这里不需要 Ingress,因为我可以简单地在内部调用它。这对这个案子有帮助吗?

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 193
查看详情 Find JSON Path Online

我尝试过的:

我尝试将 cronjobs 和 api 保留在同一个应用程序中,这样我就可以简单地调用服务而不是端点,但这也有一个缺点。 我无法创建副本,因为它们也会复制 cronjobs,并且相同的端点将被命中 1*no ofreplicas

我想每周调用一次“abc.com”端点。它需要一个令牌,而我不能简单地传递一个令牌。 我希望有办法解决这个问题。

解决方法

如果您只需在内部调用它们而不暴露它们,它肯定会有所帮助。 如果两个 Pod(以及部署)在同一个集群下运行,您可以使用 Kubernetes 的内部 DNS。

K8s 自动为您创建的服务创建 DNS 记录,可用于内部通信,格式如下:<service-name>.<service-namespace>.svc.cluster.local</service-namespace></service-name>

来自官方文档的更多信息:服务和 DNS Pod

如果这听起来很奇怪或者它可以帮助理解它的要点,请尝试将“端点”视为添加到系统主机文件中的规则:它基本上归结为添加一条规则,其中 <service-name>. <service-namespace>.svc.cluster.local</service-namespace></service-name> 指向您 pod 的 IP 地址,除非它是自动完成的

例如

  • 您的 golang 应用正在 Pod 内运行。
  • 您在命名空间 go-apps 下创建了一个指向它的服务,名为 go-api
  • 如果您的 cron-job 工作线程在同一集群内的 Pod 中运行,您可以使用 go-api.go-apps.svc.cluster.local[:<port>]</port> 来访问您的应用程序,而无需使用 Ingress李>

授权取决于您,因为您通常直接或使用特定框架来处理它。 例如,您可以在应用程序内添加自定义端点路径,以确保唯一接受的客户端来自集群的同一私有 IP 子网,可以不使用令牌(不推荐),也可以使用特定的半固定您生成并控制的一个,以便您可以从您的 crons 向类似的内容发送请求: go-api.go-apps.svc.cluster.local:8080/api/v1/callWithNoAuth

以上就是如何从 cronjobs 向安全 API 端点发出授权请求?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号