【发布时间】:2021-01-12 10:57:09
【问题描述】:
我有以下 docker 架构,使用 docker compose 进行编排:
- Service1:前端应用,react 应用
- Service2:ExpressJS 服务器
- Service3:Django 服务器
三个应用程序通过 HTTP API 调用相互通信。谁可以呼叫谁没有限制。每个应用程序都对外暴露
用户在前端应用程序 (Service1) 上进行身份验证,并解析一个 JWT,该 JWT 可以在以后传递给每个其他后续调用,然后每个其他服务都有一个身份验证层来验证 JWT 调用。
我的问题是:我们如何在没有任何用户活动(没有 JWT)的情况下验证从 Service2 到 Service3 的调用?
这是 crons 或维护作业所必需的。
我的第一个解决方案是在 docker-compose 中创建一个具有固定子网的 docker 网络,如下所示:
networks:
our-network:
ipam:
driver: default
config:
- subnet: "172.100.100.0/24"
然后,在 Service2 和 Service3 中,我允许来自该子网的 API 调用未经身份验证。 我担心这可能是一个安全问题,想知道是否有更好的解决方案。
【问题讨论】:
-
今天来这里问一个相关的问题。稍后会发布。
标签: docker authentication microservices