服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-10-14 简米科技 3,741 字 9 分钟阅读

订阅号js安全域名是什么?如何配置与使用,怎么设置?

导读订阅号JS安全域名是微信公众平台为公众号网页调用JS-SDK而设置的可信域名白名单,入口在“设置与开发-公众号设置-功能设置-JS接口安全域名”,完成域名归属验证后,页面才能通过wx.config调用分享、拍照、扫一扫等微信能力,订阅号js安全域名是什么?和网页授权域名有什么区别一句话理解JS安全域名订阅号JS……

订阅号JS安全域名是微信公众平台为公众号网页调用JS-SDK而设置的可信域名白名单,入口在“设置与开发-公众号设置-功能设置-JS接口安全域名”,完成域名归属验证后,页面才能通过wx.config调用分享、拍照、扫一扫等微信能力。

订阅号js安全域名是什么?和网页授权域名有什么区别

一句话理解JS安全域名

订阅号JS安全域名,解决的是“哪些网页有资格调用微信JS-SDK”的问题,它不是网页访问域名,也不是支付域名,而是微信给前端JS接口开的一张通行证。

没有配置或配置错误时,常见现象是:

  • 自定义分享标题、描述、缩略图不生效。
  • wx.chooseImage、wx.scanQRCode、wx.getLocation调用失败。
  • 控制台报 invalid signature、permission denied。
  • 微信客户端提示“当前页面未配置JS接口安全域名”。

和网页授权域名、业务域名、支付授权目录的区别

配置项 主要用途 典型接口 常见报错
JS接口安全域名 调用微信JS-SDK 分享、拍照、扫一扫、地理位置 invalid signature
网页授权域名 OAuth2.0获取用户信息 获取openid、userinfo redirect_uri参数错误
业务域名 微信内打开网页、跳转 网页访问、支付跳转 非微信官方网页
支付授权目录 微信支付发起页 JSAPI支付 当前页面URL未注册

这四项经常被混在一起,实际开发中,一个页面可能同时涉及JS安全域名和网页授权域名,但它们要分别配置,不能互相替代。

哪些场景必须配置

  • 做公众号活动页,需要自定义微信分享卡片。
  • 上传图片、拍照、录音、识别语音。
  • 调用微信扫一扫、获取经纬度。
  • 使用微信卡券、微信小店、部分客服接口。
  • 订阅号js安全域名是什么?如何配置与使用,怎么设置?

  • 页面内嵌H5,需要通过JS-SDK增强体验。

行业共识认为,安全域名配置只是白名单,不代表接口一定可用,还要看公众号类型、认证状态和接口权限。

订阅号js安全域名怎么配置?公众号后台操作步骤

配置前准备

  • 一个可公网访问的域名,h5.example.com。
  • 域名已完成ICP备案,据工信部要求,境内提供互联网信息服务的网站通常需要备案。
  • 域名支持HTTPS更稳妥,微信生态内大量接口要求安全传输。
  • 能修改域名根目录或服务器配置,用于上传验证文件。
  • 公众号管理员扫码确认,部分操作需要管理员权限。

后台填写与验证

  1. 登录微信公众平台。
  2. 进入“设置与开发” -> “公众号设置” -> “功能设置”。
  3. 找到“JS接口安全域名”,点击“设置”。
  4. 填写域名时只写域名,不写 http://、https://,不写端口,不写路径。
  5. 保存后下载 MP_verify_xxxxxx.txt。
  6. 把文件上传到域名根目录,确保 https://你的域名/MP_verify_xxxxxx.txt 能直接打开。
  7. 回到后台点击验证,验证通过后,该域名进入白名单。

如果使用Nginx,可以确认根目录映射:

server {
    listen 443 ssl;
    server_name h5.example.com;
    root /var/www/h5;
    index index.html;
}

验证文件应放在 /var/www/h5/MP_verify_xxxxxx.txt。

前端wx.config调用示例

wx.config({
  debug: false,
  appId: '你的公众号appId',
  timestamp: 1710000000,
  nonceStr: '随机字符串',
  signature: '服务端生成的签名',
  jsApiList: [
    'updateAppMessageShareData',
    'updateTimelineShareData',
    'chooseImage',
    'scanQRCode'
  ]
});
wx.ready(function () {
  wx.updateAppMessageShareData({ '分享标题',
    desc: '分享描述',
    link: location.href.split('#')[0],
    imgUrl: 'https://你的域名/share.png'
  });
});
wx.error(function (res) {
  console.log('JS-SDK错误', res);
});

订阅号js安全域名是什么?如何配置与使用,怎么设置?

服务端签名核心逻辑

签名不能放前端,否则会泄露 appSecret,服务端先拿 access_token,再换 jsapi_ticket,然后按固定顺序拼接字符串并做SHA1。

jsapi_ticket=xxx&noncestr=xxx&timestamp=xxx&url=https://h5.example.com/page

url 是当前网页完整URL,不包含 后面的片段。jsapi_ticket 要缓存,不要每次请求都重新获取。

业内专家指出,JS-SDK签名失败多数不是接口权限问题,而是URL和ticket缓存处理不一致。

上海企业订阅号js安全域名配置要收费吗

微信公众平台本身不收取JS安全域名配置费,后台填写和验证是免费的,真实成本通常来自配套资源:

  • 域名费用:常见域名年费几十元到上百元不等。
  • 服务器费用:云服务器、虚拟主机或容器服务,年费从数百元到数千元不等。
  • 备案费用:备案本身免费,但需要时间,上海企业一般通过接入商提交。
  • 开发费用:如果外包给服务商,按项目复杂度报价,差异较大。
  • 维护费用:证书续期、域名续费、接口调整。

上海企业如果已有备案域名和服务器,配置JS安全域名基本只花人力时间,如果没有域名,先买域名、做备案、部署验证文件,再回公众号后台配置。

订阅号js安全域名配置不生效怎么办?排查清单

后台验证失败

  • 验证文件打不开,返回404或403。
  • 域名有重定向,从A跳到B。
  • CDN或对象存储缓存了旧文件。
  • 域名未备案或备案信息异常。
  • 填写时带了协议、端口、路径或通配符。

invalid signature常见原因

  • 签名URL和当前页面URL不一致,包括参数顺序、编码。
  • jsapi_ticket 过期,或缓存串号。
  • access_token 与 appId 不匹配。
  • nonceStr、timestamp 前后端不一致。
  • 订阅号js安全域名是什么?如何配置与使用,怎么设置?

  • 签名拼接顺序错误,漏掉&或参数名写错。
  • 服务器时间偏差过大。
  • 微信客户端缓存,可退出重进或换设备测试。

权限与缓存

  • 订阅号未认证,部分JS接口无权限。
  • 公众号后台未添加开发者或IP白名单。
  • 测试号与正式号配置混用。
  • 页面在微信外打开,部分接口不可用。

订阅号js安全域名使用中的注意事项

域名边界

JS安全域名不支持通配符,填写 www.example.com,通常不代表 m.example.com 自动生效,子域名要单独规划,后台可配置数量有限,具体以页面提示为准,每月修改次数也有限制,上线前应确认域名。

安全合规

  • appSecret 只放服务端。
  • 签名接口做频率限制和来源校验。
  • 使用HTTPS,避免中间人篡改。
  • 不要把安全域名当成访问控制,它只控制JS-SDK调用资格。

开发测试建议

  • 先用测试号验证签名流程。
  • 用微信开发者工具查看请求和错误。
  • 记录每次签名用的URL、ticket、时间戳。
  • 上线前检查分享、拍照、扫一扫等核心路径。

订阅号js安全域名常见问答

订阅号js安全域名必须备案吗?

境内服务器域名通常需要ICP备案,未备案域名可能无法通过微信验证,使用境外服务器时,也要确保域名可访问且符合微信平台规则,备案信息要与实际接入商保持一致,避免验证失败。

订阅号js安全域名可以填IP或端口吗?

不能填IP,也不能带端口,微信要求填写域名形式,h5.example.com,本地开发可用内网穿透生成临时域名测试,但正式环境应使用已备案的固定域名。

订阅号js安全域名和网页授权域名可以填同一个吗?

可以填同一个,只要域名已验证,两者在公众号后台是两个独立配置项,JS安全域名管JS-SDK调用,网页授权域名管OAuth2.0获取用户信息,授权回调路径和JS-SDK签名URL要按各自规则分别处理。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱