php editor Strawberry では、cronjob から安全な API エンドポイントに認可リクエストを発行する方法を紹介します。 Web アプリケーションを開発する場合、多くの場合、スケジュールされたタスクを実行するために cronjob を使用する必要があります。ただし、cronjob からリクエストを直接送信するとセキュリティ上のリスクが生じる可能性があるため、リクエストのセキュリティを確保するために何らかの措置を講じる必要があります。この記事では、この質問に詳しく答え、開発者がこの問題を解決するのに役立つ実用的な方法と提案を提供します。
JWT トークンを介して API キー認証を行う golang アプリケーションがあります
Kubernetes を使用しています。したがって、この Golang アプリケーションはポッド内に存在します。
次に、cronjob が週に 1 回 golang エンドポイントにアクセスするための別のアプリケーションを作成したいと思います。
必要なもの:
認証を実行/スキップするにはどうすればよいですか?
スキップ: Ingress は内部的に呼び出すだけなので、ここでは必要ありません。これで事件は解決するでしょうか?
私が試したこと:エンドポイント
の代わりに サービスを簡単に呼び出せるように、cronjob と API を同じアプリケーション内に保持しようとしましたが、これには欠点もあります。
レプリカは cron ジョブもレプリケートし、同じエンドポイントが 1*no ofreplicas 回ヒットするため、レプリカを作成できません
「abc.com」エンドポイントを週に 1 回呼び出したいと考えています。トークンが必要ですが、単純にトークンを渡すことはできません。
この問題を解決する方法があることを願っています。
公式ドキュメントからの詳細情報:
サービスと DNS ポッド
これが奇妙に聞こえる場合、または要点を理解するのに役立つ場合は、システムのホスト ファイルに追加されるルールとして「エンドポイント」を考えてみてください。基本的には、<サービス名> というルールを追加することになります。 ;.
###例えば###
golang アプリケーションはポッド内で実行されています。
これを指すサービスを、名前空間
go-apps cron-job ワーカー スレッドが同じクラスター内のポッドで実行されている場合は、
go-api.go-apps.svc.cluster.local[: を使用して、 Ingress を使用せずにアプリケーションにアクセスする
go-api.go-apps.svc.cluster.local:8080/api/v1/callWithNoAuth
李>以上がcronjobs から安全な API エンドポイントに認証リクエストを行うにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。