Spring Cloud Gateway接收到https请求,根据路由规则转发给后台微服务,但是默认情况下,转发给后台微服务时,仍然是https请求,这就要求后台微服务需要配置ssl,并且每台服务器都需要有域名,这名下是不太实际的,正常情况下,一个网站只有对外拍路的网关是通过域名访问,转发给后台微服务时,则是采用IP地址。
SpringCloud Zuul默认情况下就会帮我们实现https转换为http,gatewy需要我们自行添加可过滤器实现转换:
我只是个搬砖的,参考大佬博客:
https://www.jianshu.com/p/5a36129399f2
这位大佬分析了源码,并给出了解决方案:
SpringCloud Gateway https请求 转换为http 路由给后台微服务
添加过滤器:
import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR;
import java.net.URI;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
import org.sp
版权声明:本文为qq_26932225原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。