微服务安全:API网关通信保护与单页应用构建
1. 保护Zuul与微服务之间的通信
在保护Zuul与微服务之间的通信时,不需要为网关配置令牌颁发者的证书,而是配置与令牌颁发者证书对应的证书颁发机构(CA)的证书。这样,网关可以从授权服务器公开的端点动态获取令牌颁发者的证书,以进行JWT签名验证,并检查该证书是否由其信任的证书颁发机构签名。不过,如果证书颁发机构颁发给授权服务器的证书被撤销,那么这个决定也必须传达给API网关,或者API网关可以依赖证书撤销列表。
2. 防止通过防火墙直接访问微服务
要确保微服务不直接暴露给外部客户端,需要将其置于组织的防火墙后面。这样,除非外部客户端通过API网关,否则无法访问微服务。如下所示:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(客户端应用):::process -->|通过API网关| B(API网关):::process
B -->|允许访问| C(订单处理微服务):::process
D(外部客户端):::process -->|被防火墙阻止| E(防火墙):::process
F(授权服务器):::process -->|被防火墙保护| E
3. 使用相互TLS保护API网关与微服务之间的通信
为了确保微服务免受内部客户端的攻击,并且只能通过API网关访问,需要构建一种机制,使微服务拒绝来自API网关以外的客户端的任何
超级会员免费看
订阅专栏 解锁全文
902

被折叠的 条评论
为什么被折叠?



