后端企业应用运维【免费下载链接】bk-cmdb蓝鲸智云配置平台(BlueKing CMDB)项目地址https://gitcode.com/gh_mirrors/bk/bk-cmdb点击查看免费下载本篇技术指南以蓝鲸配置平台bk-cmdb开源仓库中 docs/smart/web/extra-data/configure/readme.md 的环境变量说明表为主体结合配套的 web.yaml.tmpl 配置模板与 src/web_server 源码实现系统讲解以蓝鲸 S-Mart 包方式部署 CMDB 前端web_server时全部 47 个环境变量的含义、取值与底层生效机制。读完本文你将能够独立完成一份可运行的 CMDB S-Mart 包部署配置正确设定全文检索、ESB 凭证、蓝鲸统一登录、权限模式、JWT/API 网关、MongoDB、Redis 等全部关键项并理解这些配置在源码中是如何被加载和消费的。背景S-Mart 包与 extra-data/configure 目录蓝鲸 S-Mart 包是蓝鲸 PaaS 平台上一种可一键部署的应用打包格式。bk-cmdb 提供了将 CMDB 前端web_server 及其构建产物打包成 S-Mart 的完整方案其构建前置目录结构说明见 docs/smart/web/readme.md。S-Mart 包构建前需要将 CMDB 代码目录调整为如下结构. CMDB代码根目录 ├── app_desc.yaml S-Mart包配置 ├── logo.png CMDB的logo ├── bin extra-data目录中的bin目录 │ ├── envsubst 用于将环境变量渲染到SaaS的配置文件中 │ ├── go-pre-compile S-Mart包编译前的前置处理脚本 │ ├── post-compile S-Mart包编译后的后置处理脚本 │ └── start-web.sh SaaS启动脚本 ├── configure extra-data目录中的configure目录 │ ├── readme.md 配置文件变量说明 │ └── web.yaml.tmpl 配置文件模板 ├── web 编译好的前端包 ├── conf 对应cmdb的resources目录 │ ├── errors 错误码配置 │ └── language 国际化配置 ├── changelog_user 版本日志目录对应cmdb的docs/support-file/changelog_user目录 └── src CMDB的代码目录 └── web_server web_server的代码目录S-Mart包构建时会使用该目录进行编译编译好的二进制会放到bin目录中S-Mart 包的元数据由 docs/smart/web/app_desc.yaml 定义当前仓库中该文件声明appVersion: 3.14.8-beta1、bkAppCode: bk_cmdb_saas应用名为蓝鲸配置平台模块web使用 Go 语言编译启动命令为/app/bin/start-web.sh编译时通过环境变量GO_INSTALL_PACKAGE_SPEC: ./src/web_server指定编译 web_server 模块并通过CGO_CFLAGS/CGO_LDFLAGS链接 Tongsuo铜锁密码库。本文所讲的configure目录正是 S-Mart 包中的配置变量说明 配置文件模板两部分envsubst脚本在应用启动/渲染阶段将部署方设置的环境变量逐一替换到web.yaml.tmpl中${VAR}占位符处生成 web_server 实际读取的 YAML 配置。因此环境变量的名称、含义与默认值就是 S-Mart 部署 CMDB 前端时唯一的配置入口。环境变量速查总表47 项完整清单以下为 docs/smart/web/extra-data/configure/readme.md 中的完整变量说明表。其中可直接设置成的变量值列给出的是仓库文档标注的建议取值或默认值未标注的项需按实际部署环境填写变量名称变量含义可直接设置成的变量值BK_CMDB_ES_STATUS全文检索功能开关(取值off/on)默认是off开启是onoffBK_COMPONENT_API_URLesb地址BK_CMDB_APP_CODEcmdb app codeBK_CMDB_APP_SECRETcmdb app secretBKPAAS_CC_URL该值表示部署完成后,输入到浏览器中访问的cmdb 网址BKPAAS_LOGIN_URL蓝鲸统一登录访问地址BK_CMDB_AUTH_SCHENE权限模式web页面使用可选值: internal, iamiamBKPAAS_BK_DOMAIN用于配置前端需要的cookie domain地址BK_HTTP_SCHEMA访问协议BKPAAS_SHARED_RES_URL蓝鲸共享资源URLBK_IAM_V3_APP_CODE权限中心app codeBKPAAS_NODEMAN_URL节点管理地址BK_CMDB_ENABLE_BK_NOTICE是否启用消息通知, true或falseBK_CMDB_APIGW_JWT_ENABLED是否通过jwt调用apigw, true或falsetrueBK_CMDB_APIGW_JWT_PUBLICKEYcmdb API GATEWAY网关公钥BK_APIGW_BK_NOTICE_URL消息通知中心API GATEWAY网关地址BK_APIGW_BK_CMDB_URLcmdb API GATEWAY网关地址BK_CMDB_MONGODB_HOSTcmdb mongodb地址BK_CMDB_MONGODB_PORTcmdb mongodb端口BK_CMDB_MONGODB_USERNAMEcmdb mongodb用户BK_CMDB_MONGODB_PASSWORDcmdb mongodb密码BK_CMDB_MONGODB_DATABASEcmdb mongodb数据库名称cmdbBK_CMDB_MONGODB_MAX_OPEN_CONNScmdb mongodb最大连接数3000BK_CMDB_MONGODB_MAX_IDLE_CONNScmdb mongodb最大空闲连接数100BK_CMDB_MONGODB_MECHANISMcmdb mongodb mechanismSCRAM-SHA-1BK_CMDB_MONGODB_RS_NAMEcmdb mongodb rsNamers0BK_CMDB_MONGODB_SOCKET_TIMEOUT_SECONDScmdb mongodb socket连接的超时时间10BK_CMDB_MONGODB_SSL_CERT_PATHcmdb mongodb ssl 客户端证书的路径BK_CMDB_MONGODB_SSL_KEY_PATHcmdb mongodb ssl 私钥的路径BK_CMDB_MONGODB_SSL_CA_CERT_PATHcmdb mongodb ssl CA 证书的路径BK_CMDB_MONGODB_SSL_SKIP_VERIFYcmdb mongodb ssl 是否跳过证书验证, 默认falsetrueBK_CMDB_REDIS_SENTINEL_HOSTcmdb redis sentinel地址BK_CMDB_REDIS_SENTINEL_PORTcmdb redis sentinel端口BK_CMDB_REDIS_PASSWORDcmdb redis密码BK_CMDB_REDIS_SENTINEL_PASSWORDcmdb redis sentinel密码BK_CMDB_REDIS_DATABASEcmdb redis数据库名称0BK_CMDB_REDIS_MAX_OPEN_CONNScmdb redis最大连接数3000BK_CMDB_REDIS_MAX_IDLE_CONNScmdb redis最大空闲连接数1000BK_CMDB_REDIS_MASTER_NAMEcmdb redis master 名称BK_CMDB_REDIS_SSL_CERT_PATHcmdb redis ssl 客户端证书的路径BK_CMDB_REDIS_SSL_KEY_PATHcmdb redis ssl 私钥的路径BK_CMDB_REDIS_SSL_CA_CERT_PATHcmdb redis ssl CA 证书的路径BK_CMDB_REDIS_SSL_SKIP_VERIFYcmdb redis ssl 是否跳过证书验证, 默认falsetrue可以看到47 个变量按功能可划分为六大类全文检索ES、ESB 与应用凭证、站点访问与登录、JWT 与 API 网关、MongoDB 存储、Redis 缓存与会话。下面逐类深入解析其配置逻辑与源码依据。全文检索开关BK_CMDB_ES_STATUSBK_CMDB_ES_STATUS控制 CMDB 前端的全文检索功能取值仅off/on默认off。在配置模板中它被渲染到es.fullTextSearch字段es: # 全文检索功能开关(取值off/on)默认是off开启是on fullTextSearch: ${BK_CMDB_ES_STATUS}该字段在 web_server 启动时的配置热更新回调onServerConfigUpdate中被读取见 src/web_server/app/server.go当es.fullTextSearch读取失败时兜底为off读取成功则采用实际值最终存入w.Config.Site.FullTextSearch。随后前端首页数据接口会把它透传给页面见 src/web_server/service/index.go页面据此决定是否展示全文检索入口。注意该开关控制的是前端页面能力全文检索的后端能力依赖 CMDB 后端各服务与 Elasticsearch 的集成开启前应确认后端 es 配置与数据同步链路已就绪。ESB 与应用凭证BK_COMPONENT_API_URL / BK_CMDB_APP_CODE / BK_CMDB_APP_SECRET这三个变量构成 web_server 与蓝鲸 ESB企业服务总线通信的基础凭证渲染到esb配置段esb: addr: ${BK_COMPONENT_API_URL} appCode: ${BK_CMDB_APP_CODE} appSecret: ${BK_CMDB_APP_SECRET} insecureSkipVerify: true certFile: keyFile: caFile: password:BK_COMPONENT_API_URLESB 服务地址同时被webServer.site.bkComponentApiUrl与webServer.site.paasDomainUrl两处引用是前端调用蓝鲸平台组件 API 的公共地址。BK_CMDB_APP_CODE/BK_CMDB_APP_SECRETCMDB 在蓝鲸平台上的应用标识与密钥。二者在模板中被多处复用既用于esb段也用于webServer.site.appCode前端登录携带的应用身份和apiGW段调用 API 网关时的鉴权凭证。源码侧web_server 在初始化阶段通过esb.InitEsbClient(nil)创建 ESB 客户端并在配置更新时调用esb.ParseEsbConfig()/esb.UpdateEsbConfig()同步最新配置见 src/web_server/app/server.go 与 src/web_server/app/server.go。在blueking登录模式下web_server 还会通过该 ESB 客户端调用蓝鲸登录接口换取用户信息。站点访问、登录与 CookieBKPAAS_CC_URL / BKPAAS_LOGIN_URL / BKPAAS_BK_DOMAIN / BK_HTTP_SCHEMA访问地址与登录地址BKPAAS_CC_URL表示部署完成后用户在浏览器中访问 CMDB 的网址渲染到webServer.site.domainUrl与webServer.site.httpsDomainUrl。源码在配置更新回调中会为其自动补上结尾斜杠并解析为 URL 对象同时将其作为登录跳转的c_url回跳地址见 src/web_server/app/server.go 与 src/web_server/app/server.gowebServer: site: #该值表示部署完成后,输入到浏览器中访问的cmdb 网址 domainUrl: ${BKPAAS_CC_URL} httpsDomainUrl: ${BKPAAS_CC_URL} # 登录地址 bkLoginUrl: ${BKPAAS_LOGIN_URL}?app_id%sc_url%s bkHttpsLoginUrl: ${BKPAAS_LOGIN_URL}?app_id%sc_url%s appCode: ${BK_CMDB_APP_CODE} checkUrl: ${BKPAAS_LOGIN_URL}/accounts/get_user/?bk_tokenbkLoginUrl中两个%s占位符分别由appCode和domainUrl填充最终拼出带应用标识与回跳地址的完整登录 URL对应源码w.Config.LoginUrl fmt.Sprintf(w.Config.Site.BkLoginUrl, w.Config.Site.AppCode, w.Config.Site.DomainUrl)。checkUrl则用于校验登录态是否有效。登录流程的落地实现可进一步参阅 src/web_server/middleware/login.go未登录请求会被 302 重定向到登录 URL已登录且为blueking登录模式时会调用esb.EsbClient().LoginSrv().GetUser()实时获取并校验用户信息。Cookie Domain 与访问协议BKPAAS_BK_DOMAIN配置前端需要的 Cookie domain 地址渲染到webServer.site.bkDomain。该值决定登录态 Cookie 的作用域若前端静态资源与后端接口跨域需设置为公共域名。同时它还被用于拼接权限中心IAM的授权申请地址authUrl: ${BK_HTTP_SCHEMA}://${BKPAAS_BK_DOMAIN}/o/bk_iam/apply-custom-perm。BK_HTTP_SCHEMA访问协议http或https与BKPAAS_BK_DOMAIN组合构成权限中心申请授权页的完整 URL。BKPAAS_SHARED_RES_URL蓝鲸共享资源 URL渲染到webServer.site.bkSharedResUrl供前端页面加载蓝鲸平台公共静态资源。登录模式webServer.login.version模板中固定将该字段设为bluekinglogin: # 使用的登录系统 skip-login 免登陆模式 blueking 默认登录模式 使用蓝鲸登录, oa 使用公司oa进行登陆 version: blueking注释明确该字段可选值skip-login免登录模式、blueking默认使用蓝鲸统一登录、oa使用公司 OA 登录。源码侧该值由cc.String(webServer.login.version)读取并存入w.Config.LoginVersion见 src/web_server/app/server.go随后src/web_server/middleware/login.go 在blueking模式下额外调用蓝鲸登录服务校验用户src/web_server/logics/department.go 中opensource与skip-login两种登录插件版本会走免鉴权逻辑用户信息由请求头直接提供。权限模式BK_CMDB_AUTH_SCHENEBK_CMDB_AUTH_SCHENE决定 web 页面使用的权限模式可选值internal内置权限或iam蓝鲸权限中心文档建议值iam。它在模板中同时出现在两处webServer: site: authscheme: ${BK_CMDB_AUTH_SCHENE} app: authAppCode: ${BK_IAM_V3_APP_CODE} authUrl: ${BK_HTTP_SCHEMA}://${BKPAAS_BK_DOMAIN}/o/bk_iam/apply-custom-perm agentAppUrl: ${BKPAAS_NODEMAN_URL} # 权限模式web页面使用可选值: internal, iam authscheme: ${BK_CMDB_AUTH_SCHENE}配套变量BK_IAM_V3_APP_CODE权限中心的应用 code渲染到webServer.app.authAppCode作为 CMDB 向权限中心申请权限时使用的应用身份。BKPAAS_NODEMAN_URL节点管理地址渲染到webServer.app.agentAppUrl供前端跳转节点管理。源码侧webServer.site.authscheme在配置更新回调中被读取并存入w.Config.Site.AuthScheme当读取失败时兜底为internal见 src/web_server/app/server.go。选择iam模式前请确认权限中心已正确接入、authUrl可访问否则页面权限申请入口将无法正常工作。JWT 与 API 网关BK_CMDB_APIGW_JWT_ENABLED / BK_CMDB_APIGW_JWT_PUBLICKEY / BK_APIGW_BK_NOTICE_URL / BK_APIGW_BK_CMDB_URLS-Mart 部署蓝鲸部署方式下web_server 对后端的/api请求会统一代理到 CMDB API 网关需要 JWT 与网关双重配置webServer: jwt: enabled: ${BK_CMDB_APIGW_JWT_ENABLED} # jwt公钥 publicKey: ${BK_CMDB_APIGW_JWT_PUBLICKEY} # jwt私钥 privateKey: apiGW: bkNoticeApiGatewayUrl: ${BK_APIGW_BK_NOTICE_URL} bkCmdbApiGatewayUrl: ${BK_APIGW_BK_CMDB_URL} appCode: ${BK_CMDB_APP_CODE} appSecret: ${BK_CMDB_APP_SECRET} username: admin tls: insecureSkipVerify: true ...各变量作用BK_CMDB_APIGW_JWT_ENABLED是否通过 JWT 调用 API 网关布尔值文档建议true。web_server 启动时调用jwt.Init(webServer)初始化 JWT 处理器见 src/web_server/app/server.go。BK_CMDB_APIGW_JWT_PUBLICKEYCMDB API 网关的公钥用于校验网关返回/转发请求的签名。模板中privateKey留空——从配置结构看S-Mart 部署场景下 web_server 仅需持有网关公钥验签私钥用于签发 JWT 的部分在独立部署模式下才会用到。BK_APIGW_BK_CMDB_URLCMDB API 网关地址S-Mart 模式下前端/api请求的代理目标。BK_APIGW_BK_NOTICE_URL消息通知中心 API 网关地址仅在启用消息通知时使用。源码侧蓝鲸部署模式下initWebService会注册 CMDB 网关客户端apigwClients append(apigwClients, apigw.Cmdb)且若EnableNotification为真再追加apigw.Notice见 src/web_server/app/server.go。请求代理行为见 src/web_server/middleware/login.go蓝鲸部署模式下/api请求直接apigw.Client().Cmdb().Proxy(...)转发到网关而独立部署模式则使用jwt.GetHandler().Sign(...)对请求头签名后转发给 api-server。消息通知BK_CMDB_ENABLE_BK_NOTICEBK_CMDB_ENABLE_BK_NOTICE为布尔值控制是否启用消息通知如审批、事件变更等消息推送。模板渲染位置webServer: #是否启用消息通知 enableNotification: ${BK_CMDB_ENABLE_BK_NOTICE}源码侧通过cc.Bool(webServer.enableNotification)读取并存入w.Config.EnableNotification见 src/web_server/app/server.go。启用后initWebService会额外初始化apigw.Notice消息通知客户端因此启用该功能必须同时正确配置BK_APIGW_BK_NOTICE_URL及网关凭证。MongoDB 存储配置13 个变量CMDB 后端元数据统一存储在 MongoDB 中web_server 虽主要承担前端职责其配置模板仍完整包含 mongodb 段变量与默认值如下变量含义建议值BK_CMDB_MONGODB_HOSTmongodb 地址必填BK_CMDB_MONGODB_PORTmongodb 端口必填BK_CMDB_MONGODB_USERNAMEmongodb 用户按环境BK_CMDB_MONGODB_PASSWORDmongodb 密码按环境BK_CMDB_MONGODB_DATABASE数据库名cmdbBK_CMDB_MONGODB_MAX_OPEN_CONNS最大连接数3000BK_CMDB_MONGODB_MAX_IDLE_CONNS最大空闲连接数100BK_CMDB_MONGODB_MECHANISM认证机制SCRAM-SHA-1BK_CMDB_MONGODB_RS_NAME副本集名称 rsNamers0BK_CMDB_MONGODB_SOCKET_TIMEOUT_SECONDSsocket 连接超时秒10BK_CMDB_MONGODB_SSL_CERT_PATHSSL 客户端证书路径可选BK_CMDB_MONGODB_SSL_KEY_PATHSSL 私钥路径可选BK_CMDB_MONGODB_SSL_CA_CERT_PATHSSL CA 证书路径可选BK_CMDB_MONGODB_SSL_SKIP_VERIFY是否跳过证书验证true模板渲染为mongodb: host: ${BK_CMDB_MONGODB_HOST} port: ${BK_CMDB_MONGODB_PORT} usr: ${BK_CMDB_MONGODB_USERNAME} pwd: ${BK_CMDB_MONGODB_PASSWORD} database: ${BK_CMDB_MONGODB_DATABASE} maxOpenConns: ${BK_CMDB_MONGODB_MAX_OPEN_CONNS} maxIdleConns: ${BK_CMDB_MONGODB_MAX_IDLE_CONNS} mechanism: ${BK_CMDB_MONGODB_MECHANISM} rsName: ${BK_CMDB_MONGODB_RS_NAME} #mongo的socket连接的超时时间以秒为单位默认10s最小5s最大30s。 socketTimeoutSeconds: ${BK_CMDB_MONGODB_SOCKET_TIMEOUT_SECONDS} tls: insecureSkipVerify: ${BK_CMDB_MONGODB_SSL_SKIP_VERIFY} caFile: ${BK_CMDB_MONGODB_SSL_CA_CERT_PATH} certFile: ${BK_CMDB_MONGODB_SSL_CERT_PATH} keyFile: ${BK_CMDB_MONGODB_SSL_KEY_PATH}配置要点副本集模式BK_CMDB_MONGODB_RS_NAME建议值为rs0。若 MongoDB 以副本集方式部署务必保持 rsName 与副本集实际名称一致。超时范围socketTimeoutSeconds以秒为单位模板注释明确取值范围为 530s默认 10s超出范围将无法生效。认证机制默认SCRAM-SHA-1使用 MongoDB 4.0 时如需SCRAM-SHA-256请按服务端实际配置调整。SSL 链路当 MongoDB 启用 TLS 时需同时提供certFile、keyFile、caFile三个路径insecureSkipVerify默认false校验服务端证书文档建议值为true跳过校验生产环境若持有合法 CA 证书建议显式设回false。Redis 缓存与会话配置10 个变量Redis 在 web_server 中承担会话Session存储与通用缓存双重职责变量如下变量含义建议值BK_CMDB_REDIS_SENTINEL_HOSTsentinel 地址必填BK_CMDB_REDIS_SENTINEL_PORTsentinel 端口必填BK_CMDB_REDIS_PASSWORDredis 密码按环境BK_CMDB_REDIS_SENTINEL_PASSWORDsentinel 密码按环境BK_CMDB_REDIS_DATABASE数据库名0BK_CMDB_REDIS_MAX_OPEN_CONNS最大连接数3000BK_CMDB_REDIS_MAX_IDLE_CONNS最大空闲连接数1000BK_CMDB_REDIS_MASTER_NAMEmaster 名称必填BK_CMDB_REDIS_SSL_CERT_PATHSSL 客户端证书路径可选BK_CMDB_REDIS_SSL_KEY_PATHSSL 私钥路径可选BK_CMDB_REDIS_SSL_CA_CERT_PATHSSL CA 证书路径可选BK_CMDB_REDIS_SSL_SKIP_VERIFY是否跳过证书验证true模板渲染为redis: # 公共redis配置信息,用于存取缓存用户信息等数据 host: ${BK_CMDB_REDIS_SENTINEL_HOST}:${BK_CMDB_REDIS_SENTINEL_PORT} pwd: ${BK_CMDB_REDIS_PASSWORD} sentinelPwd: ${BK_CMDB_REDIS_SENTINEL_PASSWORD} database: ${BK_CMDB_REDIS_DATABASE} maxOpenConns: ${BK_CMDB_REDIS_MAX_OPEN_CONNS} maxIDleConns: ${BK_CMDB_REDIS_MAX_IDLE_CONNS} masterName: ${BK_CMDB_REDIS_MASTER_NAME} tls: certFile: ${BK_CMDB_REDIS_SSL_CERT_PATH} keyFile: ${BK_CMDB_REDIS_SSL_KEY_PATH} caFile: ${BK_CMDB_REDIS_SSL_CA_CERT_PATH} insecureSkipVerify: ${BK_CMDB_REDIS_SSL_SKIP_VERIFY}源码侧的连接模式判断见 src/web_server/app/server.gomasterName为空时按直连 Redis 处理使用host:port直连并创建普通会话存储masterName非空时按哨兵Sentinel模式处理将host:port按;拆分得到哨兵节点列表使用masterName定位 Master 创建哨兵会话存储。两种模式下均会传入password、sentinelPwd与 TLS 配置。此外redis.NewFromConfig(webSvr.Config.Redis)还会创建通用缓存客户端见 src/web_server/app/server.go。若 S-Mart 部署使用蓝鲸提供的共享 Redis 且未开启哨兵可将BK_CMDB_REDIS_MASTER_NAME留空并把BK_CMDB_REDIS_SENTINEL_HOST/PORT直接指向 Redis 实例地址端口。模板中的其他配置段TLS、监控、OpenTelemetry除环境变量外web.yaml.tmpl还包含以下固定配置段供部署时按需调整全局 TLStls段web_server 对外服务的证书、密钥、CA 与insecureSkipVerify配置与esb、apiGW两处 tls 结构一致字段含义已在模板注释中说明。监控monitor段pluginName可选noop默认或bluekingenableMonitor默认false使用 blueking 插件时需配置数据通道标识dataID示例1500000上报队列queueSize范围 11000默认 100限流参数rateLimiter.qps范围 150默认 10、burst范围 1100默认 20。OpenTelemetryopenTelemetry段日志平台链路追踪接入开关enable默认false启用时需配置自定义上报地址endpoint及上报bkDataID/bkDataToken。Session 与会话安全webServer.session段会话名name: cc3skip: 0multipleOwner: 00 表示不支持同一用户同时登录1 表示支持userInfo以:分割账号密码模板中默认留空。帮助文档与版本日志site.helpDocUrl使用模板变量${BK_DOCS_URL_PREFIX}该变量未列入 readme 变量表若页面需展示帮助入口请另行设置changelogPath.ch/en指向/app/changelog_user/ch、/app/changelog_user/en对应 S-Mart 包中的版本日志目录。配置生效链路从环境变量到运行时的源码印证综合 src/web_server/app/server.go 与 src/web_server/service/index.go一条环境变量从部署到生效的完整链路如下渲染S-Mart 启动时由bin/envsubst将全部${VAR}占位符替换为环境变量实际值生成/app/conf/web.yaml模板见 docs/smart/web/extra-data/configure/web.yaml.tmpl。加载web_server 通过backbone.Engine与配置中心组件读取 YAML并在启动期间以轮询方式等待webServer.site.domainUrl非空后继续初始化见 src/web_server/app/server.go。热更新配置变更触发onServerConfigUpdate回调逐项解析es.fullTextSearch、webServer.site.*、webServer.session.*、webServer.login.version、webServer.app.*、webServer.enableNotification等字段其中fullTextSearch读取失败兜底off、authscheme读取失败兜底internal见 src/web_server/app/server.go。消费前端页面数据接口将fullTextSearch、bkSharedResUrl、domainUrl等透传给浏览器见 src/web_server/service/index.go登录中间件依据LoginVersion与DeploymentMethod决定走蓝鲸登录校验、网关代理还是 JWT 签名转发见 src/web_server/middleware/login.go。部署与验证建议环境变量完整性检查必填项BKPAAS_CC_URL、BKPAAS_LOGIN_URL、BK_COMPONENT_API_URL、BK_CMDB_APP_CODE、BK_CMDB_APP_SECRET、MongoDB 与 Redis 地址等缺失时web_server 会因配置不完整而无法正常对外服务——源码中启动逻辑会等待domainUrl配置就绪。开关类变量格式布尔类变量BK_CMDB_ENABLE_BK_NOTICE、BK_CMDB_APIGW_JWT_ENABLED严格使用true/false全文检索开关严格使用off/on。权限模式一致性BK_CMDB_AUTH_SCHENE取iam时须同步配好BK_IAM_V3_APP_CODE、BK_HTTP_SCHEMA与BKPAAS_BK_DOMAIN用于拼装权限中心授权 URL。JWT 与网关配套S-Mart 部署建议保持BK_CMDB_APIGW_JWT_ENABLEDtrue并确保BK_CMDB_APIGW_JWT_PUBLICKEY与 CMDB API 网关实际下发的公钥一致启用消息通知前先确认BK_APIGW_BK_NOTICE_URL可访问。验证入口部署完成后访问BKPAAS_CC_URL应能跳转蓝鲸统一登录并正常回跳登录后首页数据接口/api/ 前缀请求经网关代理返回正常即说明 ESB 凭证、JWT 与网关链路均已打通。健康检查接口为/healthz监控指标接口为/metrics该路径在 src/web_server/middleware/login.go 中被列入免登录白名单。如需进一步了解 S-Mart 包的完整目录与构建流程可参阅 docs/smart/web/readme.md 与 docs/smart/web/app_desc.yaml配置模板的完整字段注释可在 docs/smart/web/extra-data/configure/web.yaml.tmpl 中逐行查看。赞分享后端企业应用运维【免费下载链接】bk-cmdb蓝鲸智云配置平台(BlueKing CMDB)项目地址https://gitcode.com/gh_mirrors/bk/bk-cmdb点击查看免费下载相关推荐蓝鲸配置平台 bk-cmdb 查询 Kubernetes Namespace 接口list_kube_namespace全解析蓝鲸配置平台 bk cmdb 查询 Kubernetes Namespace 接口list_kube_namespace全解析 本文围绕蓝鲸智云配置平台b后端企业应用运维蓝鲸配置平台bk-cmdb批量删除 Kubernetes Namespace API 调用指南蓝鲸配置平台bk cmdb批量删除 Kubernetes Namespace API 调用指南 导读 本指南围绕蓝鲸配置平台BlueKing CMDBb后端企业应用运维蓝鲸配置平台 bk-cmdb 批量删除业务接口 delete_biz 完全指南蓝鲸配置平台 bk cmdb 批量删除业务接口 delete_biz 完全指南 导读 本文深入解析蓝鲸配置平台bk cmdb中用于 批量删除业务 的 Ope后端企业应用运维上一篇Email Verification API 性能影响分析后台 Token 签发流程到底要多久下一篇3分钟解决PCL2启动器Java配置错误的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?