Gateway微服务路由使微服务静态资源加载失败

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/
  • Gateway网关配置文件
server:
  port: 80
spring:
  application:
    name: GatewayDemo
  cloud:
    gateway:
      # 配置路由
      routes:
        - id: ProductPageDemo
          uri: http://ProductPageDemo:9100
          predicates:
            # 断言,以 /page/ 开头进行匹配
            - 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:
            # 断言,以 /page/ 开头进行匹配
            - Path=/page/**,/css/** # 放行静态资源路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值