137 lines
4.7 KiB
YAML
137 lines
4.7 KiB
YAML
service_name: gateway-service
|
||
node_id: gateway-local
|
||
environment: local
|
||
log:
|
||
level: info
|
||
format: json
|
||
include_request_body: false
|
||
include_response_body: false
|
||
max_payload_bytes: 2048
|
||
http_addr: ":13000"
|
||
cors:
|
||
enabled: true
|
||
allowed_origins:
|
||
- "*"
|
||
allowed_methods: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"]
|
||
allowed_headers:
|
||
- "Authorization"
|
||
- "Content-Type"
|
||
- "X-Request-ID"
|
||
- "X-App-Code"
|
||
- "X-HY-App-Code"
|
||
- "X-App-Package"
|
||
- "X-Package-Name"
|
||
- "X-App-Bundle-ID"
|
||
- "X-Bundle-ID"
|
||
- "X-App-Platform"
|
||
- "X-Platform"
|
||
expose_headers: ["X-Request-ID"]
|
||
allow_credentials: true
|
||
max_age_sec: 600
|
||
jwt_secret: "dev-shared-secret"
|
||
room_service_addr: "127.0.0.1:13001"
|
||
user_service_addr: "127.0.0.1:13005"
|
||
wallet_service_addr: "127.0.0.1:13004"
|
||
activity_service_addr: "127.0.0.1:13006"
|
||
game_service_addr: "127.0.0.1:13008"
|
||
statistics:
|
||
base_url: "http://127.0.0.1:13010"
|
||
timeout: "2s"
|
||
grpc_client:
|
||
# gateway 内部 gRPC 默认 deadline 包含一次 UNAVAILABLE 重试;业务长调用应在 handler 上下文显式收紧或放宽。
|
||
default_timeout: "5s"
|
||
connect_timeout: "2s"
|
||
keepalive_time: "30s"
|
||
keepalive_timeout: "10s"
|
||
retry_max_attempts: 2
|
||
retry_initial_backoff: "100ms"
|
||
retry_max_backoff: "500ms"
|
||
retry_backoff_multiplier: 2
|
||
retryable_status_codes: ["UNAVAILABLE"]
|
||
app_config:
|
||
# App 运行时配置由后台 APP配置写入 hyapp_admin,gateway 只读下发给 App。
|
||
mysql_dsn: "hyapp:hyapp@tcp(127.0.0.1:23306)/hyapp_admin?parseTime=true&charset=utf8mb4&loc=UTC"
|
||
# 房间白名单等低频配置用 Redis 缓存 5 分钟,避免每次列表请求查后台库。
|
||
redis_addr: "127.0.0.1:13379"
|
||
redis_password: ""
|
||
redis_db: 0
|
||
key_prefix: "gateway:app_config:"
|
||
cache_ttl: "5m"
|
||
finance_notifications:
|
||
dingtalk:
|
||
enabled: true
|
||
webhook_url: "https://oapi.dingtalk.com/robot/send?access_token=08ab491397880d167bb86168749eea5fff35aaf83eac9d033157ea2a7c96573c"
|
||
secret: "SEC893f814c59c7dde7916086d7b2a694ebc6796448c622c804ffa2c784c69adc03"
|
||
at_mobiles: []
|
||
at_all: false
|
||
request_timeout: "3s"
|
||
leaderboard:
|
||
# 活动用户榜单只读 activity-service 写入的 Redis 聚合结果;时间窗口统一按 UTC 计算。
|
||
redis_addr: "127.0.0.1:13379"
|
||
redis_password: ""
|
||
redis_db: 0
|
||
key_prefix: "activity:user_leaderboard"
|
||
auth_rate_limit:
|
||
# public auth 固定窗口频控;Redis 不可用时 gateway 启动失败,避免失去入口保护。
|
||
enabled: true
|
||
redis_addr: "127.0.0.1:13379"
|
||
redis_password: ""
|
||
redis_db: 0
|
||
key_prefix: "gateway:auth:rate:"
|
||
window_sec: 60
|
||
ip_limit: 120
|
||
device_id_limit: 30
|
||
provider_ip_limit: 20
|
||
display_user_id_ip_limit: 10
|
||
display_user_id_limit: 50
|
||
session_id_ip_limit: 30
|
||
login_risk:
|
||
enabled: true
|
||
redis_addr: "127.0.0.1:13379"
|
||
redis_password: ""
|
||
redis_db: 0
|
||
key_prefix: "login_risk:ip:"
|
||
fast_guard:
|
||
blocked_languages: []
|
||
blocked_language_primary_tags: []
|
||
blocked_timezones: []
|
||
blocked_timezone_prefixes: []
|
||
tencent_im:
|
||
# 本地联调腾讯云 IM UserSig;SDKAppID 和密钥必须与 room-service 保持一致。
|
||
sdk_app_id: 20040101
|
||
secret_key: "2f6a5ec58cccf79647557a96c15e6efe89ba5a44c474096bde2589a633fcd45e"
|
||
admin_identifier: "administrator"
|
||
admin_user_sig_ttl: "24h"
|
||
# 客户端 UserSig 有效期;线上建议 12h-7d,按登录刷新策略决定。
|
||
user_sig_ttl: "24h"
|
||
endpoint: "adminapisgp.im.qcloud.com"
|
||
request_timeout: "5s"
|
||
# 腾讯云 IM 控制台回调 URL。需要公网可访问;本地为空表示暂不启用回调。
|
||
callback_url: ""
|
||
# 腾讯云 IM 回调鉴权 Token。启用回调鉴权后必须填写。
|
||
callback_auth_token: ""
|
||
|
||
tencent_rtc:
|
||
# 本地联调腾讯 RTC UserSig;当前复用同一腾讯应用,后续可独立切换。
|
||
enabled: true
|
||
sdk_app_id: 20036101
|
||
secret_key: "dcdf53135f27e7cf8541c4ae9798fb0cb2f0e4d6c5c20022dbaea053f35cbb8c"
|
||
# RTC 进房票据有效期;比 IM 短,降低泄露窗口,客户端按需刷新。
|
||
user_sig_ttl: "2h"
|
||
# 当前 room_id 是字符串,客户端只能使用 TRTC strRoomId,不能混用数字 roomId。
|
||
room_id_type: "string"
|
||
app_scene: "voice_chat_room"
|
||
# 腾讯 RTC 控制台回调 URL。需要公网可访问;本地为空表示暂不启用回调。
|
||
callback_url: ""
|
||
# 腾讯 RTC 回调签名 key。启用回调后必须填写,gateway 会按原始 body 做 HMAC-SHA256 校验。
|
||
callback_sign_key: ""
|
||
|
||
tencent-cos:
|
||
# App 文件/头像上传使用腾讯云 COS;secret 只保存在 gateway 服务端配置。
|
||
enabled: true
|
||
secret-id: "IKID8OgrsumTzIRO9j8LemiT3eAUceWGslW4"
|
||
secret-key: "ZQ5XyJSTJ9sPxLXMD2aFoBOQIzXv9C8s"
|
||
bucket-name: "yumi-assets-1420526837"
|
||
region: "me-saudi-arabia"
|
||
access-url: "https://media.haiyihy.com"
|