spring: application: name: gateway-server main: allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 profiles: active: @profiles.active@ config: import: - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置 - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置 cloud: nacos: server-addr: @nacos.server@ # Nacos 服务器地址 username: @nacos.username@ password: @nacos.password@ discovery: # 【配置中心】配置项 namespace: @profiles.active@ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP metadata: version: @nacos.metadata.version@ # 服务实例的版本号,可用于灰度发布 management.context-path: ${server.servlet.context-path}/actuator config: # 【注册中心】配置项 namespace: @profiles.active@ group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP # Spring Cloud Gateway 配置项,对应 GatewayProperties 类 gateway: # 路由配置项,对应 RouteDefinition 数组 routes: ## system-server 服务 - id: system-admin-api # 路由的编号 uri: grayLb://system-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/system/** filters: - RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - id: system-app-api # 路由的编号 uri: grayLb://system-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/app-api/system/** filters: - RewritePath=/app-api/system/v3/api-docs, /v3/api-docs ## infra-server 服务 - id: infra-admin-api # 路由的编号 uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/infra/** filters: - RewritePath=/admin-api/infra/v3/api-docs, /v3/api-docs - id: infra-app-api # 路由的编号 uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/app-api/infra/** filters: - RewritePath=/app-api/infra/v3/api-docs, /v3/api-docs - id: infra-spring-boot-admin # 路由的编号(Spring Boot Admin) uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin/** - id: infra-websocket # 路由的编号(WebSocket) uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/infra/ws/** ## bpm-server 服务 - id: bpm-admin-api # 路由的编号 uri: grayLb://bpm-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/bpm/** filters: - RewritePath=/admin-api/bpm/v3/api-docs, /v3/api-docs ## report-server 服务 - id: report-admin-api # 路由的编号 uri: grayLb://report-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/report/** filters: - RewritePath=/admin-api/report/v3/api-docs, /v3/api-docs - id: report-jimu # 路由的编号(积木报表) uri: grayLb://report-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/jmreport/**, /drag/** ## statistics-server 服务 - id: statistics-admin-api # 路由的编号 uri: grayLb://statistics-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/statistics/** filters: - RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs ## xxl-job - id: xxl-job-admin uri: grayLb://xxl-job-server predicates: - Path=/xxl-job-admin/** ## monitor - id: monitor-server uri: grayLb://monitor-server predicates: - Path=/iailab-monitor/** ## data-server 服务 - id: data-admin-api # 路由的编号 uri: grayLb://data-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/data/** filters: - RewritePath=/admin-api/data/v3/api-docs, /v3/api-docs ## model-server 服务 - id: model-admin-api # 路由的编号 uri: grayLb://model-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/model/** filters: - RewritePath=/admin-api/model/v3/api-docs, /v3/api-docs ## shasteel 服务 - id: shasteel-admin-api # 路由的编号 uri: grayLb://shasteel-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/shasteel/** filters: - RewritePath=/admin-api/shasteel/v3/api-docs, /v3/api-docs ## xmcpms 服务 - id: xmcpms-admin-api # 路由的编号 uri: grayLb://xmcpms-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/xmcpms/** filters: - RewritePath=/admin-api/xmcpms/v3/api-docs, /v3/api-docs ## xmcsms 服务 - id: xmcsms-admin-api # 路由的编号 uri: grayLb://xmcsms-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/admin-api/xmcsms/** filters: - RewritePath=/admin-api/xmcsms/v3/api-docs, /v3/api-docs x-forwarded: prefix-enabled: true # 避免 Swagger 重复带上额外的 /admin-api/system 前缀 server: port: 48080 servlet: session: timeout: 120s logging: file: name: @log.path@/logs/${spring.application.name}.log # 日志文件名,全路径 knife4j: # 聚合 Swagger 文档,参考 https://doc.xiaominfo.com/docs/action/springcloud-gateway 文档 gateway: enabled: true routes: - name: system-server service-name: system-server url: /admin-api/system/v3/api-docs - name: infra-server service-name: infra-server url: /admin-api/infra/v3/api-docs - name: bpm-server service-name: bpm-server url: /admin-api/bpm/v3/api-docs - name: data-server service-name: data-server url: /admin-api/data/v3/api-docs - name: model-server service-name: model-server url: /admin-api/model/v3/api-docs - name: report-server service-name: report-server url: /admin-api/report/v3/api-docs --- #################### 平台相关配置 #################### iailab: info: version: 1.0.0 # 服务端点检查 management: trace: http: enabled: true endpoints: web: exposure: include: "*" endpoint: health: show-details: always # 日志文件配置 logging: level: org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 芋艿:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示