这是我在做完第一个小程序项目后写的项目总结。开发的时候,对小程序开发的注意事项没有详细了解,也没有老手给我讲解,只能一个人摸着石头过河……这个过程有多难,相信大家都明白。在做小程序之前,我是一个前端开发,对后端了解不多,购买服务器、申请域名、域名备案、申请SSL证书、网站部署,一头雾水。没办法,生活还要继续,哪怕遍体鳞伤,也要继续往坑里踩。好了,废话不多说,如果运气好的话,请留言,我们继续聊。
开发前需要了解的事情
主要讲了微信小程序域名与第三方服务器通信的5个必要条件
1、注册的域名不是127.0.0.1,且域名不能添加端口。
2.添加SSL证书,即://~~~
4.服务器的TLS版本支持1.2及以下,一般1.0、1.1、1.2三个版本必须同时支持,一个都不能缺,否则会出现以下情况:
5.在微信小程序后台添加合法域名(一个月内修改次数有限,务必珍惜)如下图
记得在这里设置
以上5个条件必须全部满足,不然你在手机上预览的时候会发现无法通讯~~~
需要解决的问题 域名注册 SSL证书申请 TLS版本 > 1.2 问题 陷阱
让我们逐一讨论如何避免这些陷阱。
问题一:购买服务器
不买服务器好像注册域名是不行的,那我们先买个服务器吧。(服务器租期会根据你在阿里云注册的天数延长,这个算是小福利了。)这里主要要注意的是服务器系统,要选择支持TSL1.2的操作系统。比如:2008 R2。其他配置就看你财力了,做小程序不需要很高的配置,够用就行。(服务器租用1年大概3000-5000元)(买完服务器一定要先打补丁,不知道怎么回事,我的服务器刚买就被黑了,被植入了矿机,重装系统也没用,有大哥知道怎么处理吗,给点建议!)
服务器-如何购买阿里云服务器
服务器-如何远程登录阿里云服务器
问题二:域名注册
前言:由于域名注册手续复杂,注册周期长,因此如果我们开发一个需要上线的小程序,应该先解决域名注册问题,以节省开发时间。(当时我并不知道这一点,所以直到程序开发到一半才想起注册,导致程序开发中断)
申请域名、注册域名、购买服务器最好是同一个平台,阿里云或者腾讯云都可以。我之前在花生壳上申请过域名,但是注册的时候回复说“域名提供商没有注册资质”。是不是很搞笑?大家可以看看这个网站注册中关于“域名验证”的常见问题。在同一个平台管理也方便。
让我从头开始说吧,那是很久很久以前的事了……
准备
域名申请
准备域名是第一步,没有域名怎么注册?我开发了一个企业小程序,所以在购买域名的时候,填写了企业信息,填写的信息必须和域名注册信息一致,比如域名主体名,一个字都不能错!域名实名认证
这个认证信息最好用企业信息认证,需要的信息都是在营业执照上的,最好把营业执照上的信息整理成txt文件,方便复制粘贴。域名通过实名认证后才能进行域名注册(实名认证很快,一般1-2天即可)域名注册申请
这个其实不用多说,按照别人的流程来就行,不懂的直接看就行。(阿里云审核过程中有邮寄窗帘和拍照的步骤,可能需要2-3天)
只要信息填写正确,审核其实还是挺快的,审核分为两个阶段,以阿里云为例,第一阶段是阿里云自己审核(如果信息没问题的话,两三天就审核完了,2-3天);第二阶段是工信部审核(如果第一轮审核通过,这一轮基本没问题,等着就行,一般1-2周审核完)
问题三:申请微信小程序开发者账号
开放注册范围
认证付款
微信小程序注册入口
微信小程序注册流程
问题四:开发调试
这时候你的域名应该已经备案了,那么问题来了,我们该如何发展呢?没有一个合法的域名,我们就无法进行通讯!别担心,微信其实给我们提供了一个解决方案。
打开微信开发者工具 > 右上角详情 > 项目设置 > 勾选不验证合法域名、web-view(业务域名)、TLS版本和证书。
未验证合法域名
好了,域名请求限制的问题解决了,接下来的问题就是,没有服务器的情况下,如何运行后台程序?如何进行前后端联调。
我使用开发的后端,完成后部署在IIS7上。
服务器-如何搭建IIS服务器
服务器-如何使用IIS服务部署网站
可能出现的问题:
手机无法连接IIS网站(站点)
尚未配置为 Web 项目 XXXX 指定的本地 IIS URL
......问题五:SSL证书申请
SSL证书确实贵啊!不过好像以后还是需要这个证书的,以后会被列为不信任域名。不过好消息是阿里云免费提供SSL证书,教大家如何申请阿里云免费SSL证书,这真是阿里爸爸给的福利,可以开心用一年了。
至于如何安装SSL证书,购买证书后会有相应的文档教程和视频教程,按照操作就可以了。
问题六:后端网站部署
这个其实和问题4中的IIS服务设置是一样的,我只知道后台部署,对系统了解不多,所以这里就不秀了。
需要注意的是,第一次租用服务器的时候,IIS服务是默认不开启的,安装方法在这里:2008 R2安装IIS7图文教程
问题六:域名解析
这里没什么需要注意的,唯一要注意的就是在填写记录的时候,要填写我们服务器的公网IP地址。
阿里云如何正确解析域名?
问题 7:TSL 1.0 至 1.2
之前提到过,小程序要求 TSL 版本必须大于 1.2,但是问题是我之前什么都做了,试了之后还是不行!!!找了好久才发现,我们刚刚安装好 SSL 证书之后,默认的 TSL 版本是 1.0。所以这里需要把 TSL 从 1.0 改成 1.2。看这里如何解决问题:对应服务端 tls 是 tls 1.0,小程序要求 TLS 版本大于等于 1.2。不要问我 TSL 是什么,说实话我也不知道 (^_^)!!!
最后附上苹果ATS的检测入口,看看你的域名是否支持TSL1.2
后记
一个人开发真的很累,遇到问题的时候,只能一个人战斗,没有人可以一起讨论,有时候修复bug的时候真的很郁闷,希望我的文章能给那些孤军奋战的程序员们一些帮助,我支持你们,谢谢支持!