外观
网关部署
WARNING
网关只是一个部署包,不提供源码,需要授权才可以启动。网关部署配置参考
配置参考
管理端网关参考配置
yaml
server:
port: 29813
name: gateway #应用名称
log:
level: info
sensitive:
field-rules:
- field-names:
- password
type: password
- field-names:
- name
type: name
max-length: 100
request: # 请求日志配置
enabled: true # 是否启用请求日志
urls: # 允许记录请求日志的URL列表
- /**
response: # 响应日志配置
enabled: true # 是否启用响应日志
urls: # 允许记录响应日志的URL列表
- /**
nacos:
server-addr: ${NACOS_SERVER_ADDR:192.168.3.181:8848} #地址,多个逗号分隔
username: ${NACOS_USERNAME:dev}
password: ${NACOS_PASSWORD:dev}
config:
namespace: ${NACOS_NAMESPACE:dev}
group: ${NACOS_GROUP:dev}
enabled: false
discovery:
namespace: ${NACOS_NAMESPACE:dev}
group: ${NACOS_GROUP:dev}
enabled: false
# metadata: #元数据
# version: gray-2 # 指定灰度版本号
#ip: 192.168.3.54 #指定本机ip
#port: 9720 #服务端口
gateway:
routes:
- id: file # 文件
uri: http://127.0.0.1:9830
predicates:
- Path=/api/admin/file/**
filters:
- StripPrefix=3
- id: admin # 授权
uri: http://127.0.0.1:9813
predicates:
- Path=/api/admin/**
filters:
- StripPrefix=2
filter:
session:
enabled: true
rules:
- urls: # 后台管理
- /api/admin/**
type: redis
business-key: admin
is-generate-temp-code: true
security-enabled-admin-authority: true
expire: 24h
redis-auto-expire: true # 自动续期
session-update-enabled: true
session-update-interval: 10m
session-update-url: "http://127.0.0.1:9813/getLastSession" # 更新接口地址
session-update-timeout: 30s # 请求超时时间
user-login-urls:
- /api/admin/login
user-logout-urls:
- /api/admin/logout
user-get-info-urls:
- /api/admin/getInfo
security-login-urls:
- /api/admin/getInfo
- /api/admin/account/getAccountInfo
- /api/admin/account/updateAccountPassword
- /api/admin/accountLoginLog/queryTop10ListByAccountId
- /api/admin/file/**
- /api/admin/org/queryUserPermissionDictList
- /api/admin/role/queryRoleDictList
- /api/admin/menu/queryUserMenuList
security-visitor-urls:
- /api/admin/login
- /api/admin/logout
- /api/admin/captcha
- /api/admin/appUpgrade/checkUpdateVersion
- /api/admin/updatePassword
- /api/security/web/terminal/**
- /api/security/auto/automaticAuthorize/**
- /api/security/web/custom/downloadProductVersion
security-forbid-urls:
- /api/*/actuator/**
- /api/*/feign/**
merchant:
enabled: true # 启用商户签名验证
rules:
- urls: # 需要验证的URL
- /api/admin/login
- /api/admin/captcha
time-verify: true # 启用时间验证
time-interval: 30m # 30分钟有效期
one-verify: true # 启用一次性验证
one-time-interval: 1h # 1小时验证窗口
sign-type: all # 全参数签名
encrypt: SHA256
parameter-type: query
apps:
- app-secret: l4m9pEGf5P4ai1mJCxMuNht7gFHZoqtvDTMU2aQkjPYI8nHbmrZdyEtAEISiGtex
app-id: admin
captcha:
enabled: true
rules:
- generate-urls:
- /api/admin/captcha
type: random #类型;string 数字字母,number 数字,math 数学,random 随机
verify-urls:
- /api/admin/login
- /api/admin/updatePassword
expire: 5m
parameter-type: body
code-field-name: code
value-field-name: validateCode
image-width: 150 #宽度
image-height: 70 #高度
image-length: 5 #长度
# custom-image-font-size: 48 # 设置为0启用自适应字体大小
custom-image-noise-level: 0 # 噪点级别 (0-10)
custom-image-distortion-level: 1 # 扭曲级别 (0-10)
custom-image-line-count: 3 # 干扰线数量
custom-image-dot-count: 20 # 干扰点数量
test-enabled: true # 启用测试模式
test-value: "1234" # 固定验证码值,验证时传入此值即可通过
#- verify-type: cap
# verify-urls:
# - /api/admin/login
# - /api/admin/updatePassword
# parameter-type: body
# verify-uri: http://10.0.12.11:3001/147e6084b8/siteverify
# verify-params:
# siteKey: 147e6084b8
# secret: mBgKjyhIixitcbuIFevGItjYTNtHThw8v7Zyqsq1LMRA4UFswiBVQ
# responseField: capToken
authorization-transform:
enabled: true # 启用令牌转换
rules:
- field-name: code # 参数名称
business-key: admin
transform-urls: # 需要转换的地址
- /api/admin/menu/exportExcel
- /api/admin/resource/exportExcel
- /api/admin/dict/exportExcel
expire: 10m # 10分钟有效期
cors:
enabled: true
rules:
- urls:
- /**
allow-origins: "*" # 允许所有源,也可以配置具体的域名,多个用逗号分隔
allow-methods: "GET,POST,PUT,DELETE,PATCH,OPTIONS" # 允许的HTTP方法
allow-headers: "Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since,X-Language" # 允许的请求头
allow-credentials: true # 允许携带认证信息
max-age: 3600 # 预检结果缓存时间(秒)
expose-headers: "Authorization" # 允许浏览器访问的响应头
# HTTP客户端配置 - 用于网关向后端服务发起请求时的连接池和超时设置
# 这些配置影响网关作为客户端访问后端服务的行为
http-client:
max-idle-conns: 1000 # 最大空闲连接数 - 连接池大小
max-idle-conns-per-host: 20 # 每个主机的最大空闲连接数 - 避免单个服务占用过多连接
max-conns-per-host: 200 # 每个主机的最大连接数 - 限制并发连接数
idle-conn-timeout: "120s" # 空闲连接超时时间 - 5分钟后关闭空闲连接
response-header-timeout: "120s" # 响应头超时时间 - 等待后端服务响应头的最大时间
expect-continue-timeout: "1s" # Expect: 100-continue 超时时间 - HTTP/1.1协议相关
dial-timeout: "300s" # 连接超时时间 - 建立TCP连接的最大等待时间
dial-keep-alive: "120s" # KeepAlive 时间 - TCP连接保活时间
write-buffer-size: 32768 # 写缓冲区大小(字节) - 32KB写缓冲
read-buffer-size: 32768 # 读缓冲区大小(字节) - 32KB读缓冲
http:
enabled: true # 启用URL级别的HTTP配置
rules:
# 默认接口配置 - 普通API请求
- name: "api"
urls:
- "/**" # 匹配所有其他路径
max-header-bytes: "1MB" # 普通API请求头大小
max-body-bytes: "5MB" # 普通API请求体大小
read-timeout: "60s" # 普通API读取超时
redis:
addrs: 127.0.0.1:6379
password: "123456"
db: 6