Spring Gateway静态文件路由

  • Spring gateway路由简介
  • 路由到其他微服务的API路由
    • Spring zuul
    • Spring Gateway
  • 静态文件服务
    • Spring zuul
    • Spring Gateway
  • 静态文件的缓存配置
  • 小结

Spring gateway路由简介

早期的Spring cloud使用的路由框架是Spring Zuul(spring-cloud-starter-netflix-zuul),采用的是blocking model。在最新的Spring cloud框架中,Spring Gataway(spring-cloud-starter-gateway) 被用来替代Spring Zuul,它采用的是non-blocking model,可以提供更好的路由性能。

无论使用哪一种Spring cloud路由框架,应用的路由信息都是通过环境变量进行配置(configMap,applicaiton.yml或application.property或者在运行时通过-D option指定)。对应Spring zuul,路由的入口是spring.zuul.routes, Spring gateway的是 spring.cloud.gateway.routes.

路由到其他微服务的API路由

路由到其他微服务的配置,通才采用的是micro-service-id的方式(注册在同一个Service Registry中,可被spring gateway微服务发现的服务id)

Spring zuul

spring:zuul:routes:test-service:service-id: <micro-service-id>sensitive-headers:path: /api/test-service/**

Spring Gateway

spring:cloud:gateway:routes:- id: test-serviceuri: lb://<micro-service-id>predicates: - Path=/api/test-service/**

静态文件服务

通常会将如下配置加到路由属性配置的最后一条,做为默认配置,当前面的路由规则都没有被触发的情况下,使用forward的方式,foward到当前微服务(spring gateway)的服务跟目录,匹配静态资源和spring gateway的本地API(静态资源是指放在static目录中的所有的文件)

Spring zuul

spring:zuul:routes:local-service:path: /**url: forward:/

Spring Gateway

spring:cloud:gateway:routes:- id: local-serviceuri: forward:/predicates: - Path=/**

静态文件的缓存配置

当发布一下小的项目的时候,可以把前段的静态资源打包到gateway的static目录,通过gateway作为入口,提供前端资源的访问,同时作为服务路由,提供所有下游微服务的统一入口,静态资源文件的缓存可以通过如下配置属性配置

spring:resources:cache-period:  28800

小结

当管理一个小型项目时,可以使用spring boot的静态资源的方式,打包前端资源,并把它作为gateway的一部分发布,本文提供了一种配置前端资源的路由方式和页面缓存的配置方式。

Spring Gateway静态文件路由相关推荐

  1. Spring Gateway locator 自动路由兼容context-path

    背景 基于Spring Gateway和Eureka 结合的微服务开发方式, 如果使用自动路由解析,可以将微服务上的eureka服务ID当成路由的key,从而能够根据网关地址+服务ID实现服务的自动转 ...

  2. 设置Django关闭Debug后的静态文件路由

    Django在Debug模式关闭掉后请求静态文件时,返回404相应码,后台的请求url是"GET /static/css/404.css HTTP/1.1" 404 1217,找不 ...

  3. 利用ASP .NET Core的静态文件原理实现远程访问Nlog日志内容及解决遇到的坑

    最近项目上试运行发现,很多时候网站出了问题或者某个功能不正常,常常需要运维人员去服务器里面查看一下日志,看看日志里面会产生什么异常,这样导致每次都要去远程服务器很不方便,有时服务器是客户保管的不能让我 ...

  4. Spring Boot 静态资源映射与上传文件路由配置

    默认静态资源映射目录 默认映射路径 在平常的 web 开发中,避免不了需要访问静态资源,如常规的样式,JS,图片,上传文件等;Spring Boot 默认配置对静态资源映射提供了如下路径的映射 /st ...

  5. spring cloud gateway 之 动态路由改造

    目录 gateway本地文件常规路由配置 本地文件配置对业务造成的痛点 动态路由改造 1 gateway本地文件常规路由配置 我们先大致看下gateway中的常规概念 Route(路由):路由是网关的 ...

  6. Spring Cloud Alibaba 集成 Gateway 实现动态路由功能

    文章目录 1 摘要 2 核心 Maven 依赖 3 名词释义 4 Gateway 动态路由原理 5 数据库表 6 核心代码 6.1 配置信息 6.2 路由实体类 6.3 本地路由数据库持久层(DAO/ ...

  7. spring boot 字体文件等静态资源无法获取

    spring boot 字体文件等静态资源无法获取 原因 原因maven打包时会过滤掉一些静态文件 解决办法 在pom.xml文件中配置静态资源过滤,然后再放行静态资源,这样就能让maven识别到那些 ...

  8. (三)、Express 路由、静态文件、

    一.路由 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问. 每一个路由都可以有一个或者多个 ...

  9. Express 路由、Ejs 、静态文件托管、中间件

    一. Express 简单介绍 Express 是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架,它提供一系 列强大的特性,帮助你创建各种 Web 和移动设备应用. Expres ...

最新文章

  1. PyTorch的十七个损失函数
  2. java的datatype_java数据类型
  3. ont维修使能工具_上海OTC机器人维修保养以及调试服务了解
  4. Linux卸载蓝牙模块,Linux 下调试低功耗蓝牙的笔记
  5. oracle循环的方式,Oracle 的几种循环方式介绍
  6. 加班其实不是真正的理由(Coders Life)
  7. 从程序员到项目经理(五):程序员加油站 -- 不是人人都懂的学习要点
  8. python命令解析_python学习(命令行的解析)
  9. Python调用Tushare抓取上证指数并作初步分析示例
  10. 云计算机工作组,边缘云场景、需求与组网架构
  11. 字典:python的基础数据类型
  12. 我们有个共同的名字,XX工
  13. springboot 集成J2Cache
  14. liang-barsky_C和C ++中的Liang Barsky线裁剪算法
  15. 计算机世界:“狗日的”腾讯 搅局者还是终结者
  16. 垃圾分类数据集(垃圾图片数据集)
  17. 手绘板的制作——重置与橡皮擦(2)
  18. openstack 虚拟机镜像制作
  19. bind dns mysql,linux下bind9.8+dlz+mysql 的dns服务器局域网配置
  20. 字距调整属性font-kerning,怎么查老婆的网贷信息,看看老婆在外面借了多少钱?

热门文章

  1. 股市的交易日(动态规划算法)
  2. NB-IOT的背景基础知识
  3. Windows 10 开机进入桌面没有任何图标,闪屏系统自动重启explorer.exe,调不出任务管理器
  4. java毕业设计——基于java+JSP+sqlserver的智能在线考试信息管理系统设计与实现(毕业论文+程序源码)——智能在线考试信息管理系统
  5. 史上最详细的maven仓库详解
  6. NSS 错误码详细信息
  7. 《自控力》总结_完结
  8. 傅里叶系列、Z变换、拉普拉斯关系梳理
  9. 端智能在大众点评搜索重排序的应用实践
  10. 3D设计软件中怎么创建风扇叶模型?浩辰3D基础教程