企业微信自建应用配置可信域名接收消息回调,需在管理后台「应用管理」中设置消息接收 URL,并完成域名所有权验证。适用场景为需要接收成员消息或事件推送的自建服务,风险边界在于回调地址必须公网可达且通过 HTTPS 校验。
先说结论:配置过程分为域名所有权验证和消息接收 URL 验证两步,必须确保服务器能正确响应企业微信的 GET 请求。
- 适合:需要被动接收用户消息、菜单点击事件或状态变更推送的自建应用
- 先准备:已备案的公网域名、HTTPS 证书、可编辑的应用服务器代码
- 验收:管理后台显示「正常」状态,且能收到测试消息推送
快速处理思路
不需要复杂命令,重点在于后台配置与代码逻辑的匹配。
- 登录企业微信管理后台,进入应用详情页。
- 在「消息接收」栏目填写 URL、Token 和 EncodingAESKey。
- 服务器代码实现 GET 请求验证逻辑,原样返回 echostr。
- 保存配置,观察状态指示灯。
为什么会这样
企业微信需要确认回调 URL 确实由开发者控制,防止消息被恶意拦截。
配置可信域名和验证 URL 是为了建立安全通道。企业微信服务器会向填写的 URL 发送 GET 请求,携带签名参数和加密的 echostr,开发者服务器解密后原样返回,证明拥有该域名的控制权且代码逻辑正确。
分步处理
按顺序完成域名验证和 URL 配置,任何一步失败都会导致接收不到消息。
1. 域名所有权验证
在管理后台「可信域名」设置中下载验证文件,上传至域名根目录,确保通过 HTTP 可访问该文件。
2. 填写接收配置
在应用详情页「消息接收」section,填写消息接收 URL(必须公网可达)、Token(自定义字符串)和 EncodingAESKey(可随机生成)。
3. 实现验证逻辑
服务器监听该 URL 的 GET 请求,校验签名,解密 echostr 并返回明文。验证通过后,企业微信才会允许保存配置。
4. 保存并启用
点击保存,若验证通过,状态显示为「正常」。此时可开始接收 POST 格式的消息推送。
怎么验证是否生效
通过管理后台状态指示和实际消息测试确认。
- 查看应用详情页「消息接收」栏目的状态灯,绿色代表正常。
- 在企业微信客户端向应用发送消息,检查服务器日志是否收到 POST 请求。
- 检查返回日志,确认企业微信收到了 HTTP 200 响应。
常见坑
- 端口限制:回调 URL 必须使用 80 或 443 标准端口,不支持非标准端口。
- 超时问题:服务器必须在 5 秒内响应,否则企业微信会判定失败并重试。
- 加密模式:若选择加密模式,必须正确处理 AES 解密,否则无法通过 URL 验证。
- 域名一致性:消息接收 URL 的域名必须在「可信域名」列表中,否则无法保存。
常见问题
回调 URL 必须使用 HTTPS 吗?
建议强制使用 HTTPS,部分接口和安全策略要求回调地址必须加密传输,HTTP 可能被拦截或无法通过验证。
一个应用可以配置多个回调 URL 吗?
不可以,一个自建应用在同一时间只能生效一个消息接收 URL,修改后会立即覆盖旧配置。
验证失败提示「签名错误」怎么办?
检查 Token 是否填写一致,确认签名算法顺序(SHA1 排序参数)与官方文档完全一致。
参考来源
- 企业微信官方文档 - 接收消息事件与格式:https://work.weixin.qq.com/api/doc/90000/90135/90930
- 企业微信管理后台 - 应用管理界面