server: port: 19000 spring: application: name: emotion-gateway # 配置文件激活 profiles: active: ${SPRING_PROFILES_ACTIVE:local} # 允许Bean覆盖和循环引用 main: allow-bean-definition-overriding: true allow-circular-references: true # 排除数据库自动配置 autoconfigure: exclude: - org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration - org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration - com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration # Redis配置 data: redis: host: ${REDIS_HOST:localhost} port: ${REDIS_PORT:6379} password: ${REDIS_PASSWORD:} database: 0 timeout: 10000ms lettuce: pool: max-active: 8 max-wait: -1ms max-idle: 8 min-idle: 0 # 网关和Nacos配置 cloud: nacos: discovery: server-addr: ${NACOS_HOST:localhost}:${NACOS_PORT:8848} namespace: ${NACOS_NAMESPACE:} group: ${NACOS_GROUP:DEFAULT_GROUP} enabled: ${NACOS_DISCOVERY_ENABLED:true} username: ${NACOS_USERNAME:nacos} password: ${NACOS_PASSWORD:nacos} metadata: version: 1.0.0 zone: ${NACOS_ZONE:default} config: server-addr: ${NACOS_HOST:localhost}:${NACOS_PORT:8848} namespace: ${NACOS_NAMESPACE:} group: ${NACOS_GROUP:DEFAULT_GROUP} file-extension: yml enabled: ${NACOS_CONFIG_ENABLED:false} username: ${NACOS_USERNAME:nacos} password: ${NACOS_PASSWORD:nacos} gateway: discovery: locator: enabled: true lower-case-service-id: true routes: # 认证服务路由 - API路径 - id: emotion-auth-api uri: lb://emotion-auth predicates: - Path=/api/auth/** filters: - StripPrefix=2 # 认证服务路由 - 直接路径 - id: emotion-auth-direct uri: lb://emotion-auth predicates: - Path=/auth/** filters: - StripPrefix=1 # 用户服务路由 - API路径 - id: emotion-user-api uri: lb://emotion-user predicates: - Path=/api/user/** filters: - StripPrefix=2 # 用户服务路由 - 直接路径 - id: emotion-user-direct uri: lb://emotion-user predicates: - Path=/user/** filters: - StripPrefix=1 # AI对话服务路由 - API路径 - id: emotion-ai-api uri: lb://emotion-ai predicates: - Path=/api/ai/** filters: - StripPrefix=2 # AI对话服务路由 - 直接路径 - id: emotion-ai-direct uri: lb://emotion-ai predicates: - Path=/ai/** filters: - StripPrefix=1 # WebSocket聊天服务路由 - API路径 - id: emotion-websocket-api uri: lb://emotion-websocket predicates: - Path=/api/websocket/** filters: - StripPrefix=2 # WebSocket聊天服务路由 - 直接路径 - id: emotion-websocket-direct uri: lb://emotion-websocket predicates: - Path=/websocket/** filters: - StripPrefix=1 # 情绪记录服务路由 - API路径 - id: emotion-record-api uri: lb://emotion-record predicates: - Path=/api/record/** filters: - StripPrefix=2 # 情绪记录服务路由 - 直接路径 - id: emotion-record-direct uri: lb://emotion-record predicates: - Path=/record/** filters: - StripPrefix=1 # 成长课题服务路由 - API路径 - id: emotion-growth-api uri: lb://emotion-growth predicates: - Path=/api/growth/** filters: - StripPrefix=2 # 成长课题服务路由 - 直接路径 - id: emotion-growth-direct uri: lb://emotion-growth predicates: - Path=/growth/** filters: - StripPrefix=1 # 地图探索服务路由 - API路径 - id: emotion-explore-api uri: lb://emotion-explore predicates: - Path=/api/explore/** filters: - StripPrefix=2 # 地图探索服务路由 - 直接路径 - id: emotion-explore-direct uri: lb://emotion-explore predicates: - Path=/explore/** filters: - StripPrefix=1 # 成就奖励服务路由 - API路径 - id: emotion-reward-api uri: lb://emotion-reward predicates: - Path=/api/reward/** filters: - StripPrefix=2 # 成就奖励服务路由 - 直接路径 - id: emotion-reward-direct uri: lb://emotion-reward predicates: - Path=/reward/** filters: - StripPrefix=1 # 统计分析服务路由 - API路径 - id: emotion-stats-api uri: lb://emotion-stats predicates: - Path=/api/stats/** filters: - StripPrefix=2 # 统计分析服务路由 - 直接路径 - id: emotion-stats-direct uri: lb://emotion-stats predicates: - Path=/stats/** filters: - StripPrefix=1 # 验证码服务路由 (通过认证服务) - id: captcha-service uri: lb://emotion-auth predicates: - Path=/captcha/** filters: - StripPrefix=1 # 全局过滤器 (暂时禁用,需要实现对应的过滤器类) # default-filters: # - name: GlobalAuthFilter # - name: GlobalLogFilter # 监控配置 management: endpoints: web: exposure: include: health,info,gateway endpoint: health: show-details: always # 日志配置 logging: file: path: /data/logs/emotion-museum/gateway level: com.emotionmuseum: debug org.springframework.cloud.gateway: debug pattern: console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%logger{50}] - %msg%n"