| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- spring:
- # Gateway 配置
- cloud:
- gateway:
- # 路由配置
- routes:
- # ========== v1 版本路由(新规范)==========
- # 管理后台 - v1 - 会员服务
- - id: admin-v1-member-service
- uri: lb://xdz-user # 使用 Nacos 服务发现,服务名:xdz-user
- predicates:
- - Path=/api/v1/admin/member/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/member/...
- # 管理后台 - v1 - 车辆服务
- - id: admin-v1-vehicle-service
- uri: lb://xdz-vehicle # 使用 Nacos 服务发现,服务名:xdz-vehicle
- predicates:
- - Path=/api/v1/admin/vehicle/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/vehicle/...
- # 管理后台 - v1 - 服务管理(通过业务服务代理)
- - id: admin-v1-service-management
- uri: lb://xdz-business # 使用 Nacos 服务发现,服务名:xdz-business
- predicates:
- - Path=/api/v1/admin/service/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/service/...
- # 管理后台 - v1 - 权限服务(角色)- 转发到 user-server
- # 注意:此路由必须在系统服务路由之前,确保更具体的路径优先匹配
- - id: admin-v1-role-service
- uri: lb://xdz-user # 使用 Nacos 服务发现,服务名:xdz-user
- predicates:
- - Path=/api/v1/admin/system/role/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/system/role/...
- order: -1 # 设置更小的数字,确保在系统服务路由(order: 0)之前匹配
- # 管理后台 - v1 - 权限服务(菜单)- 转发到 user-server
- - id: admin-v1-menu-service
- uri: lb://xdz-user # 使用 Nacos 服务发现,服务名:xdz-user
- predicates:
- - Path=/api/v1/admin/system/menu/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/system/menu/...
- order: -1 # 设置更小的数字,确保在系统服务路由(order: 0)之前匹配
- # 管理后台 - v1 - 权限服务(权限)- 转发到 user-server
- - id: admin-v1-permission-service
- uri: lb://xdz-user # 使用 Nacos 服务发现,服务名:xdz-user
- predicates:
- - Path=/api/v1/admin/system/permission/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/system/permission/...
- order: -1 # 设置更小的数字,确保在系统服务路由(order: 0)之前匹配
- # 管理后台 - v1 - 系统服务(其他系统接口)
- - id: admin-v1-system-service
- uri: lb://xdz-business # 使用 Nacos 服务发现,服务名:xdz-business
- predicates:
- - Path=/api/v1/admin/system/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/system/...
- order: 0 # 默认优先级,低于权限服务路由
- # 管理后台 - v1 - 默认路由
- - id: admin-v1-default-service
- uri: lb://xdz-business # 使用 Nacos 服务发现,服务名:xdz-business
- predicates:
- - Path=/api/v1/admin/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /admin/...
- # APP端 - v1 - 会员服务
- - id: app-v1-member-service
- uri: lb://xdz-user # 使用 Nacos 服务发现,服务名:xdz-user
- predicates:
- - Path=/api/v1/app/member/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /app/member/...
- # APP端 - v1 - 社区服务
- - id: app-v1-community-service
- uri: lb://xdz-business # 使用 Nacos 服务发现,服务名:xdz-business
- predicates:
- - Path=/api/v1/app/community/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /app/community/...
- # APP端 - v1 - 默认路由
- - id: app-v1-default-service
- uri: lb://xdz-business # 使用 Nacos 服务发现,服务名:xdz-business
- predicates:
- - Path=/api/v1/app/**
- filters:
- - StripPrefix=2 # 去掉 /api/v1,转发 /app/...
- # ========== 前端开发服务器路由 ==========
- # 前端页面和静态资源(所有非 API 请求)
- # 注意:连接服务器时,前端应该部署在服务器上,这里可以注释掉或配置为服务器前端地址
- # - id: frontend-dev-server
- # uri: http://${SERVER_FRONTEND_HOST:服务器前端地址}:${SERVER_FRONTEND_PORT:8082}
- # predicates:
- # - Path=/**
- # filters:
- # - StripPrefix=0 # 不删除前缀,直接转发
- # order: 9999
- # 全局 CORS 配置
- globalcors:
- cors-configurations:
- '[/**]':
- # 注意:当 allowCredentials=true 时,不能使用 "*",必须明确列出允许的源
- # 或者使用 allowedOriginPatterns 支持通配符
- allowedOriginPatterns:
- - "http://localhost:*" # 支持所有 localhost 端口
- - "http://127.0.0.1:*" # 支持所有 127.0.0.1 端口
- - "${SERVER_FRONTEND_ORIGIN:http://服务器前端地址:*}" # 服务器前端地址(支持环境变量)
- allowedMethods:
- - GET
- - POST
- - PUT
- - DELETE
- - OPTIONS
- - PATCH
- allowedHeaders: "*"
- exposedHeaders:
- - Authorization
- - Content-Type
- allowCredentials: true
- maxAge: 3600 # 预检请求缓存时间(秒)
- # Nacos 配置(连接服务器时启用服务发现)
- nacos:
- server-addr: 119.45.95.228:10030 # 本地 Nacos 服务器地址
- # 方式一:用户名密码认证(当前使用)
- username: nacos # Nacos 账号
- password: Nacos@202612 # Nacos 密码
- # 方式二:AK/SK 认证(如果服务器要求使用 AK/SK,取消下面注释并注释掉上面的 username 和 password)
- # access-key: 你的AccessKey
- # secret-key: 你的SecretKey
- discovery:
- enabled: true # 启用服务发现
- namespace: dev # 命名空间(开发环境)
- group: DEFAULT_GROUP
- config:
- enabled: false # Gateway 不使用配置中心
- import-check:
- enabled: false
- # 日志配置(开发环境使用 DEBUG 级别,便于调试)
- logging:
- level:
- org.springframework.cloud.gateway: DEBUG
- com.xindazhou.gateway: DEBUG
|