微信服务号域名设置,要先满足三个硬条件:账号完成微信认证、域名已ICP备案、服务器能对外提供HTTPS访问,然后到公众平台“设置与开发 → 公众号设置 → 功能设置”里分别配置网页授权域名、JS接口安全域名和业务域名,上传校验文件后点击保存生效。
先确认能不能配:三个绕不开的硬门槛
很多人一上来就找入口,结果在后台翻了半天也没看到“网页授权域名”这一栏,问题往往不在操作,而在账号本身。
微信服务号域名备案要求与主体一致性
域名这块的规则其实不复杂,但踩坑的人特别多:
- 域名必须完成ICP备案,据工信部规定,境内服务器对外提供网站服务需完成备案,微信在配置时会做校验,未备案域名直接无法保存。
- 备案主体最好与公众号主体一致,个人主体公众号配置企业备案域名,审核环节容易被驳回;企业主体配置同名下的子域名则顺畅得多。
- 不能用IP、不能用带端口的地址、不能用短链跳转域名,后台只认纯域名格式,
wx.example.com,前面不要带http://,后面不要带路径。 - 建议直接上HTTPS,近年微信对配置域名的传输安全要求逐步收紧,HTTP域名在部分能力上会被限制,早换早省事。
账号类型和认证状态决定你有没有入口
服务号注册完成后如果没有做微信认证,功能设置里很多选项是灰的,行业共识认为,涉及网页授权、JS-SDK调用这类高级能力,认证是前置条件,所以顺序应该是:注册服务号 → 完成微信认证 → 再谈域名配置。
另外提醒一句,服务器配置里的“服务器地址URL”和这里说的三个域名不是一回事,前者是消息推送回调,后者是网页侧的安全白名单,别混着理解。
微信服务号网页授权域名怎么配置?从后台到服务器一次走完
这是最常被搜的一步,因为公众号做H5登录、获取用户openid基本都要用它。
后台操作路径
- 用管理员账号登录
mp.weixin.qq.com; - 左侧菜单进入 设置与开发 → 公众号设置 → 功能设置;
- 找到“网页授权域名”,点击“设置”;
- 填写纯域名,
h5.example.com; - 下载页面提供的
MP_verify_xxxxxxxx.txt校验文件; - 点“确定”保存。
这里有个实操细节:网页授权域名一般最多可填 2个,且不含端口号,修改次数也有限制,各配置项通常是每月3次左右,具体以页面提示为准,所以正式域名和测试域名要一次规划好,别今天填一个明天改一个,改到上限就得等下个月。
微信公众平台域名校验文件放哪里、怎么验证
校验文件必须放到域名根目录,也就是能通过 https://h5.example.com/MP_verify_xxxxxxxx.txt 直接访问到,几个判断标准:
- 用浏览器无痕模式打开该地址,能看到一串随机字符,说明放对了;
- 返回404、403或者跳转到首页,都不算通过;
- Nginx环境下确认
root指向的确实是站点根目录,别放到/static之类的子目录里; - 文件名一个字都不能改,大小写敏感。
放到CDN或者对象存储上的同学注意,要确保这个txt文件是回源可读的,别被缓存规则拦掉。
代码侧要同步改的地方
后台配完不等于万事大吉,授权链接里的 redirect_uri 域名必须和后台配置的完全一致,包括子域名,常见报错 redirect_uri 参数错误(错误码10003)基本都是这个原因后台配的是 h5.example.com,代码里写的是 www.example.com,一字之差就过不去。
公众号JS接口安全域名设置步骤:三个域名的分工别搞混
JS接口安全域名解决的是“这个网页能不能调用微信JS-SDK”的问题,比如自定义分享、调起摄像头、微信支付前置的签名配置,配置方式和网页授权域名几乎一样,同样需要下载校验文件放根目录。
关键在于三个域名各管一摊,配错位置就会出现“明明配了却调不通”的情况:
| 配置项 | 主要用途 | 数量上限 | 是否需校验文件 |
|---|---|---|---|
| 网页授权域名 | OAuth2.0授权、获取openid | 一般2个 | 是 |
| JS接口安全域名 | 调用JS-SDK、自定义分享 | 一般3个 | 是 |
| 业务域名 | 声明可信网页来源 | 一般3个 | 是 |
数量上限会随平台规则调整,以后台实际显示为准。 一个实用的做法是:主站、H5活动页、测试环境分别用独立子域名,一次配齐,后面新活动直接复用。
服务号业务域名和授权域名有什么区别?配错会怎样
业务域名的作用相对“低调”,它主要用来向微信声明:这个域名下的网页是可信的,没配业务域名,用户在微信内打开你的页面时可能遇到安全提示;配了之后体验会顺一些。
授权域名的逻辑是“我要拿用户信息”,业务域名的逻辑是“我要证明这页面是我家的”,两者都会要求上传校验文件,但服务的场景完全不同,有个容易忽略的点:业务域名要求域名下所有页面都能被正常访问校验,如果你用了统一的登录拦截,记得把 MP_verify_.txt 加入白名单,否则校验会失败。
配置完成后仍然报错?按这个顺序排查
遇到问题别急着重配,先按下面这套顺序过一遍,多数情况能定位到:
- 看域名格式:是否带了协议头、端口、路径,去掉;
- 看备案:工信部备案系统能不能查到,主体是否匹配;
- 看校验文件:无痕模式直接访问txt地址,返回内容是否正确;
- 看解析:
ping一下域名,确认解析到预期服务器; - 看代码:
redirect_uri与后台配置逐字符比对,注意大小写和子域名; - 看缓存:修改后等几分钟再测,别立刻下结论。
业内专家指出,域名类配置问题有相当一部分不是技术故障,而是“配置了A环境、测试了B环境”这种低级错位,养成配置完随手截个图存档的习惯,后面排查能省不少时间。
微信服务号域名设置Q&A
微信服务号域名设置必须用已备案的域名吗?
是的,未完成ICP备案的域名无法在公众平台保存,这是平台侧的硬性校验,没有变通空间,如果域名刚买还没备案,可以先走备案流程,通常需要一到两周,具体看各省管局审核节奏。
同一个域名能同时配置成网页授权域名和JS接口安全域名吗?
可以,这三个配置项之间不互斥,同一个主域名或子域名完全可以重复出现在不同配置项里,只要分别完成对应的校验文件上传即可,实际项目中,为了管理简单,多数团队会直接复用同一个业务域名。
校验文件放在服务器上访问不到,是什么原因?
常见原因有三种:文件没放在站点根目录;服务器做了全站HTTPS跳转但证书异常;Nginx或CDN配置了拦截规则,把纯文本文件挡在外面,逐一排除后重新保存配置即可,注意每次保存都会重新触发校验。