服务器、账号与安全配置
主要文件
服务器、账号与安全配置主要集中在 server.conf。
以 digital-platform-server 为例,这个文件承担了以下几类职责:
- 服务器网络接入
- Web 入口与 API 路径
- 匿名访问与 CORS
- 根账号初始化
- 用户开放注册
- 单点或单会话相关控制
- 登录跳转与开放认证
- 图形验证码与 HTTP 会话令牌
- 文件服务匿名访问白名单
网络接入
常见的网络接入配置包括:
server.addressserver.portserver.servlet.context-path
在 digital 的样例里,开发态与安装态的 server.port 并不相同,这正说明了 @conf 和 @install/conf 应分别维护各自的部署语义。
Web 与匿名访问
server.conf 中常见的 Web 安全配置包括:
galaxyplatform.web.http-service.path-prefixgalaxyplatform.web.index-pagegalaxyplatform.web.cors.allows[...]galaxyplatform.security.web.anonymous-urlsgalaxyplatform.security.web.redirect.requiredgalaxyplatform.security.web.http-basic.enable
推荐做法:
- 开发态先把联调必须匿名访问的 URL 明确列出
- 发布态只保留真正需要开放的接口
- 对文件服务、支付通知、开放登录回调等接口单独审视,不要把调试用匿名规则带到正式环境
账号初始化与开放注册
digital 与 service-center 的样例表明,账号相关配置至少包含:
- 根账号初始化
- 账号缓存
- 开放注册
- 手机号校验
- 公钥身份
- 默认角色
- 账号绑定二维码配置
对公开文档而言,最重要的不是记住每一个键名,而是把配置目的分清楚:
- 初始化类配置:只影响系统首次建库和首次启动
- 注册类配置:影响开放注册和默认身份
- 账号缓存相关配置:影响账户读取与权限缓存性能
- 绑定类配置:影响终端侧账号绑定交互
安全开关与会话控制
以下是需要重点关注和管理的配置项:
galaxyplatform.security.debug-modegalaxyplatform.security.web.open-auth.debug-modegalaxyplatform.security.web.single-login-sessiongalaxyplatform.security.session.http.url-token-enabledgalaxyplatform.security.session.http.permits.*galaxyplatform.security.web.verify.*
使用时应特别注意:
- 把
debug-mode视为高敏感配置,发布前必须复核 - 会话白名单按 HTTP 方法拆分管理,避免把临时联调接口长期暴露
- 验证码和开放认证开关需要与真实业务链路一起评估,而不是只从技术角度开启
可复制模板
以下片段保留了平台模板中紧邻配置项的原始注释,可直接作为 server.conf 的基础模板,再按环境替换应用名、端口和敏感值:
#######################################
# 服务器的网络接入
#######################################
# 声明应用服务的名称;
server.name=YOUR-APP
# 声明应用服务绑定的本地网络地址;
server.address=0.0.0.0
# HTTP 服务的本地网络端口;
server.port=8080
# HTTP 服务的上下文路径;
server.servlet.context-path=/
#######################################
# Web 配置
#######################################
# 以 @HttpService 标注的服务 URL 的路径前缀;
# 默认值:/api
#galaxyplatform.web.http-service.path-prefix=/api
# 设置首页 URL;
# 默认值:/index.html ;
# galaxyplatform.web.index-page=index.html
# 设置跨源资源共享(CORS: Cross Origin Resource Share);
# galaxyplatform.web.cors.allows[/api/ffs/secure/**].headers=*
# galaxyplatform.web.cors.allows[/api/ffs/secure/**].methods=*
# galaxyplatform.web.cors.allows[/api/ffs/secure/**].origins=http://site1-host:8081, https://site2-host:8082
#######################################
# 安全管理
#######################################
# 初始化根账户;
# 如果不指定根用户名,则不自动初始化根用户;
galaxyplatform.security.account.root.username=root
# 初始化根账户的登录口令;如果不设置,则会在首次启动初始化的时候生成一个随机口令输出到日志文件中;
galaxyplatform.security.account.root.password=changeMe
# 账户缓存参数设置;
# 账户缓存的过期时间,默认 30, 单位:秒;
galaxyplatform.security.account.cache.expire=30
# 账户缓存的最大记录数,默认 100000 ;
galaxyplatform.security.account.cache.max-size=100000
# 是否启用开放用户注册;默认为false;
# galaxyplatform.security.account.user-register.open=false
# 是否自动批准注册申请并创建用户账号;默认为false;
# galaxyplatform.security.account.user-register.auto-approve=true
# 用户信息中如果设置了手机号码,是否必须验证用户手机号码;默认为 false ;
# 设置为 true 时,需要系统开通接入短信服务才能使用;
# galaxyplatform.security.account.user-register.phone-number-verify=false
# 是否为开放注册用户赋予公钥身份;默认为 false ;
# galaxyplatform.security.account.user-register.public-key-identity=false
# 开放注册用户的默认角色;
# galaxyplatform.security.account.user-register.default-roles=DEVELOPER
# 账号绑定二维码图片的内容前缀;默认为 galaxy:account:binding://
# galaxyplatform.security.account.binding.qrcode-image.prefix=galaxy:account:binding://
# 账号绑定二维码图片的内容后缀;默认为 galaxy:account:binding://
# galaxyplatform.security.account.binding.qrcode-image.suffix
# 二维码失效时长以及绑定会话失效时长;单位:秒;默认 300 秒(5分钟);
# 必须大于 0 ;小于等于 0 时,系统自动取默认值;
# galaxyplatform.security.account.binding.qrcode-image.timeout-seconds=300
#######################################
# 图片校验码;
#######################################
# 是否启用验证码机制;默认为 false ;
#
# 启用后,请求 URL /security/verification 可以获得一段 jpg 格式 base64 编码的验证码图片;
# 注:此 URL 会自动注册为匿名 API URL (等同于配置属性 galaxyplatform.security.web.anonymous-urls );
galaxyplatform.security.web.verify.enable=true
# 验证码超时时长,单位:秒;
# 默认值:30 ;
# galaxyplatform.security.web.verify.timeout=30
# 是否验证登录;默认为 true ;
# 设置为 true 时,自动将登录处理地址加入
# galaxyplatform.security.web.verify.filter.verify-login=true
# 是否通过HTTP请求头携带请求者输入的验证码; 默认为 true ;
# 如果为 false ,则表示通过请求参数或表单字段传递;
# galaxyplatform.security.web.verify.request.header-enable=true
# 验证码在 HTTP 请求头或参数中的 key ;默认值: VerificationCode ;
# galaxyplatform.security.web.verify.request.key=VerificationCode
#######################################
# 账户数据库设置;
#######################################
# 账户数据库类型;
# 默认为空;
# 可选值是平台的组件提供的实现来决定的;
# 平台默认实现了基于 mongodb 实现的账户数据库,通过将 dbType 设置为 mongodb 激活该特性;
galaxyplatform.security.account.db-type=mongodb
#######################################
# 开放 API
#######################################
#设置可匿名访问 URL 规则;多项规则以英文逗点“,”分隔;
# galaxyplatform.security.web.anonymous-urls=/,/index.html
#登录操作后不强制自动重定向,由客户端通过 HTTP 头部 No-Redirect 指示是否自动跳转;
galaxyplatform.security.web.redirect.required=false
#galaxyplatform.security.web.redirect.no-redirect-header-name=No-Redirect
# 开启 HTTP Basic ;
# 注意:这是一种不安全的认证方式,仅适用于在开发状态下为进行与前端或第三方的集成测试提供便利,而不应作为生产环境而开启;
# galaxyplatform.security.web.http-basic.enable=false
#######################################
# 会话安全设置
#######################################
# 是否支持基于 URL 的会话令牌;默认为 false ;
# galaxyplatform.security.session.http.url-token-enabled = true
# 通过在 permits 后指定 HTTP 方法名,指定匹配特定 HTTP 方法的 URL 规则;
# 支持所有 HTTP 方法:GET, POST, PUT, DELETE, HEAD, PATCH, OPTIONS, TRACE ;
#
# 匹配 HTTP POST 方法的 URL 规则;
# galaxyplatform.security.session.http.permits.post.urls = /api/service1/test/*
相关AI skills
galaxy-app-config-networkgalaxy-app-config-accountgalaxy-app-config-security




