iailab-cloud/iailab-gateway/src/main/resources/application.yaml
@@ -1,8 +1,33 @@
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 数组
@@ -58,7 +83,7 @@
        - id: report-jimu # 路由的编号(积木报表)
          uri: grayLb://report-server
          predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组
            - Path=/jmreport/**
            - Path=/jmreport/**, /drag/**
        ## statistics-server 服务
        - id: statistics-admin-api # 路由的编号
          uri: grayLb://statistics-server
@@ -66,16 +91,64 @@
            - Path=/admin-api/statistics/**
          filters:
            - RewritePath=/admin-api/statistics/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs
        - id: xxl-job-server
          uri: grayLb://iailab-job
        ## xxl-job
        - id: xxl-job-admin
          uri: grayLb://xxl-job-server
          predicates:
            - Path=/iailab-job/**
            - Path=/xxl-job-admin/**
        ## monitor
        - id: monitor-server
          uri: grayLb://iailab-monitor
          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: false # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
        prefix-enabled: true # 避免 Swagger 重复带上额外的 /admin-api/system 前缀
server:
  port: 48080
  servlet:
    context-path: /
    session:
      timeout: 120s
logging:
  file:
    name: @log.path@/logs/${spring.application.name}.log # 日志文件名,全路径
knife4j:
  # 聚合 Swagger 文档,参考 https://doc.xiaominfo.com/docs/action/springcloud-gateway 文档
@@ -91,6 +164,15 @@
      - 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:
@@ -108,4 +190,9 @@
        include: "*"
  endpoint:
    health:
      show-details: always
      show-details: always
# 日志文件配置
logging:
  level:
    org.springframework.context.support.PostProcessorRegistrationDelegate: ERROR # TODO 芋艿:先禁用,Spring Boot 3.X 存在部分错误的 WARN 提示