为了保护用户数据安全,微信小程序在上线之初就强制要求小程序服务端必须使用HTTPS加密协议,通过HTTPS请求进行网络通信,不满足条件的域名和协议无法请求。HTTPS传输协议在HTTP的基础上加入了SSL/TLS协议,SSL/TLS协议具有身份验证、数据传输加密和数据完整性校验的功能。通过SSL/TLS协议建立HTTPS加密连接,对服务器与终端、服务器与服务器之间的传输数据进行加密,保护数据的机密性并验证数据的完整性;依靠SSL证书来验证服务器真实身份,确保数据传输到正确的通信方,防止虚假服务器钓鱼攻击,有效防止中间人攻击、流量劫持、数据篡改、钓鱼网站仿冒等安全问题。
微信小程序与第三方服务器通讯的域名必须满足以下条件:
1、一个已备案的域名,域名不能加端口
2、域名必须配置SSL证书,也就是能通过https://访问
3、HTTPS服务器必须支持TLS 1.2或以上版本
4、微信小程序后台加上合法域名设置。
以上条件全部满足,小程序才能正常通讯,为满足更广泛的兼容性,建议按最高要求配置HTTPS加密。
选定证书类型
HTTPS证书即SSL证书,是HTTP明文协议升级HTTPS加密协议必备的数字证书。为客户端(浏览器)与服务端(网站服务器)之间搭建一条安全的加密通道,对两者之间交换的信息进行加密。
SSL证书分为:EV SSL证书、OV SSL证书以及DV SSL证书三种类型,以及部分证书支持通配符和多域名的功能。开发者可根据自身情况选择不同类型的证书。
DV SSL证书(域名验证型):只验证域名所有适合个人网站、博客等站点使用;
OV SSL证书(企业验证型):验证网站所属单位身份,适合于中旬性企业级用户使用;
EV SSL证书(扩展验证型):扩展验证网站所属单位身份,适合高度信任的企业级用户使用。如金融行业的银行,电子商务平台。
配置参考如下:每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信。包括普通HTTPS请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile)和WebSocket通信(wx.connectSocket)。
服务器域名请在「小程序后台-开发-开发设置-服务器域名」中进行配置。
配置时需要注意:域名只支持https(wx.request、wx.uploadFile、wx.downloadFile)和wss(wx.connectSocket)协议。
域名不能使用IP地址(小程序的局域网IP除外)或localhost。
可以配置端口,如https://myserver.com:8080,但是配置后只能向https://myserver.com:8080发起请求。如果向https://myserver.com、https://myserver.com:9091等URL请求则会失败。
如果不配置端口,如https://myserver.com,那么请求的URL中也不能包含端口,甚至是默认的443端口也不可以。如果向https://myserver.com:443请求则会失败。
域名必须经过ICP备案;出于安全考虑,api.weixin.qq.com不能被配置为服务器域名,相关API也不能在小程序内调用。开发者应将AppSecret保存到后台服务器中,通过服务器使用getAccessToken接口获取access_token,并调用相关API。
对于每个接口,分别可以配置最多20个域名。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)