af44c23f21
- 移除旧的测试套件和UAT测试文件 - 更新密码编码器配置使用BCrypt strength=12 - 添加用户角色关联表和相关服务 - 优化前端日期显示格式 - 清理无用资源和配置文件 - 增强测试数据管理和清理功能
144 lines
3.9 KiB
YAML
144 lines
3.9 KiB
YAML
server:
|
|
port: 8080
|
|
|
|
spring:
|
|
application:
|
|
name: manage-gateway
|
|
cloud:
|
|
gateway:
|
|
routes:
|
|
- id: manage-app
|
|
uri: http://localhost:8084
|
|
predicates:
|
|
- Path=/api/**
|
|
default-filters:
|
|
- name: JwtAuthentication
|
|
- name: RbacAuthorization
|
|
- name: Retry
|
|
args:
|
|
retries: 3
|
|
statuses: BAD_GATEWAY,SERVICE_UNAVAILABLE
|
|
methods: GET,POST
|
|
backoff:
|
|
firstBackoff: 10ms
|
|
maxBackoff: 50ms
|
|
factor: 2
|
|
basedOnPreviousValue: false
|
|
|
|
jwt:
|
|
secret: ${JWT_SECRET:enc:U2FsdGVkX1+vZ5Y9QmKxL8nN3rP7tW2jH4fG6dA8sB1cE5yN0zX3qV7wM4}
|
|
expiration: ${JWT_EXPIRATION:86400000}
|
|
key:
|
|
encryption:
|
|
password: ${JWT_KEY_ENCRYPTION_PASSWORD:}
|
|
rotation:
|
|
enabled: ${JWT_KEY_ROTATION_ENABLED:true}
|
|
interval:
|
|
days: ${JWT_KEY_ROTATION_INTERVAL_DAYS:30}
|
|
|
|
rate:
|
|
limit:
|
|
enabled: ${RATE_LIMIT_ENABLED:true}
|
|
global:
|
|
limit-for-period: ${RATE_LIMIT_GLOBAL_LIMIT:1000}
|
|
limit-refresh-period: ${RATE_LIMIT_GLOBAL_PERIOD:1s}
|
|
timeout-duration: ${RATE_LIMIT_GLOBAL_TIMEOUT:0}
|
|
ip:
|
|
limit-for-period: ${RATE_LIMIT_IP_LIMIT:100}
|
|
limit-refresh-period: ${RATE_LIMIT_IP_PERIOD:1s}
|
|
timeout-duration: ${RATE_LIMIT_IP_TIMEOUT:0}
|
|
user:
|
|
limit-for-period: ${RATE_LIMIT_USER_LIMIT:200}
|
|
limit-refresh-period: ${RATE_LIMIT_USER_PERIOD:1s}
|
|
timeout-duration: ${RATE_LIMIT_USER_TIMEOUT:0}
|
|
|
|
signature:
|
|
enabled: ${SIGNATURE_ENABLED:true}
|
|
secret: ${SIGNATURE_SECRET:NovalonManageSystemSecretKey2026}
|
|
max-age-minutes: ${SIGNATURE_MAX_AGE_MINUTES:5}
|
|
nonce-cache-size: ${SIGNATURE_NONCE_CACHE_SIZE:10000}
|
|
whitelist:
|
|
paths: ${SIGNATURE_WHITELIST_PATHS:/actuator/health,/actuator/info}
|
|
|
|
resilience:
|
|
enabled: ${RESILIENCE_ENABLED:true}
|
|
circuit-breaker:
|
|
enabled: ${RESILIENCE_CIRCUIT_BREAKER_ENABLED:true}
|
|
failure-rate-threshold: ${RESILIENCE_CB_FAILURE_RATE:50}
|
|
slow-call-rate-threshold: ${RESILIENCE_CB_SLOW_CALL_RATE:100}
|
|
slow-call-duration-threshold: ${RESILIENCE_CB_SLOW_CALL_DURATION:2s}
|
|
permitted-number-of-calls-in-half-open-state: ${RESILIENCE_CB_HALF_OPEN_CALLS:10}
|
|
sliding-window-type: ${RESILIENCE_CB_SLIDING_WINDOW_TYPE:COUNT_BASED}
|
|
sliding-window-size: ${RESILIENCE_CB_SLIDING_WINDOW_SIZE:100}
|
|
minimum-number-of-calls: ${RESILIENCE_CB_MIN_CALLS:10}
|
|
wait-duration-in-open-state: ${RESILIENCE_CB_WAIT_DURATION:10s}
|
|
retry:
|
|
enabled: ${RESILIENCE_RETRY_ENABLED:true}
|
|
max-attempts: ${RESILIENCE_RETRY_MAX_ATTEMPTS:3}
|
|
wait-duration: ${RESILIENCE_RETRY_WAIT_DURATION:500ms}
|
|
timeout:
|
|
enabled: ${RESILIENCE_TIMEOUT_ENABLED:true}
|
|
duration: ${RESILIENCE_TIMEOUT_DURATION:3s}
|
|
|
|
user:
|
|
service:
|
|
url: ${USER_SERVICE_URL:http://localhost:8084}
|
|
|
|
permission:
|
|
cache:
|
|
expiry:
|
|
minutes: 5
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info,metrics,env,loggers,httptrace,threaddump,heapdump
|
|
base-path: /actuator
|
|
endpoint:
|
|
health:
|
|
show-details: always
|
|
probes:
|
|
enabled: true
|
|
group:
|
|
liveness:
|
|
include: ping,livenessState
|
|
readiness:
|
|
include: ping,readinessState
|
|
metrics:
|
|
enabled: true
|
|
env:
|
|
enabled: true
|
|
loggers:
|
|
enabled: true
|
|
httptrace:
|
|
enabled: true
|
|
health:
|
|
livenessstate:
|
|
enabled: true
|
|
readinessstate:
|
|
enabled: true
|
|
circuitbreakers:
|
|
enabled: true
|
|
ratelimiters:
|
|
enabled: true
|
|
metrics:
|
|
tags:
|
|
application: ${spring.application.name}
|
|
distribution:
|
|
percentiles-histogram:
|
|
http.server.requests: true
|
|
percentiles:
|
|
http.server.requests: 0.5,0.95,0.99
|
|
web:
|
|
server:
|
|
request:
|
|
autotime:
|
|
enabled: true
|
|
percentiles: 0.5,0.95,0.99
|
|
|
|
logging:
|
|
level:
|
|
cn.novalon.manage: DEBUG
|
|
org.springframework.cloud.gateway: DEBUG
|