Gateway微服务路由使微服务静态资源加载失败
1.Gateway
1.1 Gateway介绍
- Gateway就是网关微服务,为我们的各个微服务集群提供一个统一的入口,根据路由匹配进行断言,进行对应微服务的访问
2.Gateway 成功之前和之后
2.1 静态资源失败场景重现
- 远程微服务页面上引入的静态资源路径,/css/index.css
<link rel="stylesheet" type="text/css" href="../static/css/index.css" th:href="@{/css/index.css}">
spring:
application:
name: ProductPageDemo
resources:
static-locations: classpath:/static/
server:
port: 80
spring:
application:
name: GatewayDemo
cloud:
gateway:
routes:
- id: ProductPageDemo
uri: http://ProductPageDemo:9100
predicates:
- Path=/page/**
filters:
- StripPrefix=1
2.2 修改成功,成功加载
- 因为我的路由匹配需要除去第一级匹配路径,所以我们需要在 对应微服务引入静态资源的时候修改静态资源路径,/page/css/index.css
<link rel="stylesheet" type="text/css" href="../static/css/index.css" th:href="@{/page/css/index.css}">
2.3 如果没有去除第一级路径,大家可以如下配置
server:
port: 80
spring:
application:
name: GatewayDemo
cloud:
gateway:
routes:
- id: ProductPageDemo
uri: http://ProductPageDemo:9100
predicates:
- Path=/page/**,/css/**