Spring Cloud 网关和 NGINX

Posted

技术标签:

【中文标题】Spring Cloud 网关和 NGINX【英文标题】:Spring Cloud Gateway and NGINX 【发布时间】:2020-07-10 15:15:38 【问题描述】:

我是否仍然需要 nginx 来提供静态内容(如 JS 等)并将反向代理请求发送到后端,或者仅使用 Spring Cloud Gateway 就可以完成? Spring docs 有以下图片:

我没有找到关于如何将静态内容返回给客户端的描述,这是否意味着它被认为是不好的做法,我需要额外的反向代理步骤来增加它的延迟? 如果没有,我在哪里可以找到有关如何使用 Spring Cloud Gateway 执行此操作的更多信息,特别是如果我要使用 Spring Gateway 进行 oauth2 授权代码流身份验证?

【问题讨论】:

【参考方案1】:

我使用 NGINX 作为反向代理,但我想到了同样的问题并尝试了(对我来说也是同样的事情。oauth2 授权码流身份验证)。因此,您可以仅使用 Spring Cloud Gateway 提供静态内容,这是可能的。

例如,如果您使用 React,请构建并将所有构建文件复制到 resources/static/frontend-name 位置下。然后,在所有前端位置禁用(permitAll)网络安全。因此,您只需键入 http://gatewayserver/frontend-name/index.html

即可访问

但是,我不认为在生产环境中使用它,NGINX 对我来说仍然是更好的主意。因为当我为前端发布时,为什么我需要同时为网关发布,反之亦然?但是,如果您有小型项目,这可能是一个选择。

【讨论】:

以上是关于Spring Cloud 网关和 NGINX的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud之Zuul网关集群

Spring Cloud——微服务网关介绍

API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd

API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd(转)

微服务一文读懂网关概念+Nginx正反向代理+负载均衡+Spring Cloud Gateway(多栗子)

SpringCloud---API网关服务---Spring Cloud Zuul