要想把微信小程序和域名绑定在一起, 有一个非常重要的前提条件, 那就是这个域名得先把 ICP 备案给办下来, 并且要求这个备案的主体要和咱们小程序所属的那个主体完全一样才行。
另外, 用来访问网站的协议必须要是 HTTPS。如果一个域名还没有完成备案手续, 那么它是没法通过系统校验的。即便你非得去把它配置上去, 那也是不会生效的。
一、前置条件
1. 域名备案, 这个域名必须要在工信部那里完成 ICP 备案手续。而且备案上面写的那个单位名称或者个人名字, 跟你在小程序后台填的那个开发者身份信息, 也就是个人或企业身份, 得是同一个东西, 完全不能不一样。
2. SSL证书: 域名需要安装那个确实好用的 HTTPS 证书, 证书的域名得和绑定的域名完全对得上号, 这里要注意一点, 像那些 *.example.com 之类的通配符证书, 只能匹配第一级的子域名。
3. 服务器位置这个方面的意思是, 域名解析指向的那些服务器的IP地址, 必须得是在中国大陆那个范围里的, 而且还不能被电信运营商给禁止使用了。
二、配置步骤(三步完成)
步骤一:后台添加域名
你需要先打开微信公众平台, 也就是在浏览器里输入网址mp.weixin.qq.com然后点击回车进到网页上, 接着找到导航栏里的「开发管理」这个选项并点击它。
在 request 合法域名、socket 合法域名、upload 合法域名、download 合法域名四个栏位中分别填入需绑定的域名微信小程序绑定域名,每栏最多配置 50 个,格式须为 https://域名。
步骤二:服务器端校验归属
微信这边要求大家, 必须通过文件校验或者 DNS 校验这种办法, 来确认域名到底是谁的。咱们就拿来文件校验当个例子, 仔细说一遍。具体到后台操作的时候, 系统会自动生成一个用于验证的文件名, 比如像 _verify_abc123.txt 这样, 并且会给你对应的内容文本。
接下来你要做的就是, 把这个刚搞出来的文件放到那个域名所指向的 Web 服务器的根目录里面去。放好了之后, 还必须确保能通过 HTTPS 协议, 完整且顺利地访问到这个文件才行。
比如说, 如果把域名的绑定选择为 m.dcqzss.cn, 那么就必须要到它相对应的 Web 根目录里面去放好那个校验文件。还要确认 https://m.dcqzss.cn/_verify_abc123.txt 这个链接能够正常打开, 而且里面的内容和后台提示的情况得保持一致。
步骤三:点击校验并确认生效
返回系统后台页面中对应的那一个位置或者栏目, 然后点击一下那个叫做「校验」的按钮。在这个时候, 系统会在内部去发起一个请求, 目的是为了去读取那个专门用来进行核对的文件, 如果文件里的内容和规定的标准互相吻合的话, 那么就会显示为校验已经通过。
随后域名的状态会立刻变成生效的状态。一旦域名状态变成了已生效, 小程序就能够在后续的使用过程当中, 利用这个已经生效了的域名去发送网络相关的请求了。
三、关键规则与限制
所有的域名一定要使用HTTPS这个协议, 不可以使用HTTP。
系统目前只允许大家输入域名这种形式的内容, 不允许在填写的时候直接去填入ip地址。
在每个栏位里, 域名的数量不能超过50个, 每个月能够修改的次数也不能超过50次。
执行操作权限的限制是仅小程序管理员拥有, 或者是成员拥有「服务器域名配置」的权限可执行。
测试号的域名管理规则和正式小程序的情况是一样的, 只不过这个测试号目前是不能用于正式上线运营的。
Q:备案主体与小程序主体不一致微信小程序绑定域名杭州市上城区明德公益事业发展中心,如何处理?
A说需将域名备案主体变更为小程序所属主体, 或改用同主体下已备案的其他域名。变更备案周期约7-20个工作日, 期间域名不可用于绑定。
Q:配置完成后小程序仍无法请求该域名?
排查的时候要按照顺序来进行, 第一步要看 SSL 证书是不是已经过期了, 或者域名和证书是否匹配, 第二步要看服务器的 443 端口有没有对公网开放出来, 第三步要看域名的 DNS 解析功能是否已经正常生效了, 你可以使用 nslookup 工具来确认这一点, 第四步要检查一下后台栏位里面填写的域名拼写是不是完全正确的, 这里面还包括必须得有协议头。
Q:开发调试阶段能否临时使用未备案域名?
答案是肯定的, 你可以通过开启「开发设置」里的一个特定功能项来实现这个目的, 这个功能项的名称叫做「不校验合法域名、web-view、业务域名和 TLS 版本」, 当你把开关打开之后, 开发者工具就能够去请求任意的域名了, 不过这里要特别提醒你一下, 这个开关键仅限于在开发调试的阶段使用, 而在正式的版本里, 必须得使用那些已经备案并且通过了校验的域名。


