最近因为工作需要开发一款微信小程序,在小程序中要发起http请求的话必要在微信小程序管理后台配置可信域名,微信对域名有2点核心的要求:带https的域名和已经ICP备案的域名。公司资源有限给不到啥支持,想起来我在腾讯云上有个域名一直闲置,于是打算拿这个域名下手。
要提醒的是,下面的所有操作步骤都是以个人资质,如果是以企业资质的话部分提交的资料或操作可能不一样,建议参考官方产品使用文档。
申请域名
这块没啥好说的,各大公有云服务商都有域名业务,上去挑一个自己喜欢的还没被注册的域名下单购买就行。
购买链接:https://buy.cloud.tencent.com/domain
域名购买成功后你可以在域名注册控制台页面找到你的域名,注意,这时候虽然域名被你买下了,但是你拿它做不了任何事情,工信部从2017年开始要求所有域名必须实名认证。如果不做认证,你的域名无法做解析,无法被访问,相当于买了个寂寞,所以第一步先把认证做了。
域名实名认证
进入到域名注册页面,可以看到当前域名是“未实名认证”状态,我们点击这个状态进到填写认证资料的页面,这里无非就是填写域名持有人信息,比如性别、电话、地址、上传身份证等等。上传的资料会经过两次审核,第一次是腾讯云自己审核,审核通过再提交到注册局审核,注册局审核通过后才算认证成功。这个过程需要的时间不定,腾讯云内部审核比较快,一般10-30分钟左右就会有响应,注册局那边就不好说了,着急的话可以提个工单叫腾讯云客服帮忙催一下。
我的建议是,先创建一个域名信息模板,把这个模板先做实名认证,后面给域名做认证的时候只要选择这个模板就行,一方面可以避免重复提交域名信息,另一方面官方文档说模板审核起来会更快。
认证成功后收到短信和邮件提示,下面是我的域名实名认证成功后的样子:
在实名认证过程中我还发生了一个小插曲,由于我之前迁移过户口,手上有2张身份证都能用,每张身份证都拿去做了资料审核,试了七八次死活不给我通过,实在没办法了给腾讯云提工单咨询,工单响应还挺快的,回复说是可能和户口迁移有关,建议用户口本来审核,我按照提示把新身份和新户口本放在一起拍照提交上去了,还是不行,心态都快崩了。我记得那天刚好是清明假期的第一天,去工单追问后很快收到客服电话,客服说我的资料没啥问题是注册局那边没有我的个人信息,what???一脸懵逼差点怀疑自己是黑户。。他们说注册局清明假期不上班要等上班后才能去反馈,那就只能等着了。上班那天一大早我就去工单催,下午就收到了审核通过的信息,真是折腾人啊。
不过话说回来,腾讯云的客服还是不错的,周末和节假日都有人值班响应很快,重要信息都会打电话通知确认,给个赞。
配置DNS解析
接下来就是给域名配置DNS服务器,这一步的目的是让别的机器能通过DNS服务器识别到你的域名。提醒一下,这一步必须要在域名通过实名认证后操作,要不然无法配置成功(其实DNS服务器腾讯云已经默认配置上去了,只是没有认证过的话就不会生效)。
我们打开域名DNSPod控制台,里面有个一键检测DNS服务器功能,域名已经认证过的话很快就可以通过检测了,这时候你域名的DNS服务器就正式生效了。默认的DNS服务器地址是f1g1ns1.dnspod.net和f1g1ns2.dnspod.net,你也可以改成其他的。
做完这一步,你的域名基本就可用了,等待备案后通过A记录把域名解析到具体的IP上即可。
域名备案
备案是一个比较繁琐的事情,整个过程耗时也很长,官网宣称的是要20个工作日左右。大家不要被这个时间吓到了,经过我本次实测差不多一周就搞定了。
首先你要查清楚你的域名是否满足备案要求,这一步可以查看文档说明。除了备案要满足的基本条件,你提交备案的地区管局也有相应的审核要求,一般来说备案地是你的户籍地,否则需要提交居住证明。大家要把这些要求都提前了解清楚,也方便准备资料避免走弯路。
还有一点非常重要,你要在腾讯云备案域名必要要有关联的腾讯云服务器资源,具体清单如下:
- 已购买满足备案条件的腾讯云服务器。
- 已购买满足备案条件的轻量应用服务器。
- 已购买满足备案条件的腾讯云 Serverless 服务。
- 已购买满足备案条件的腾讯云云托管服务。
- 使用负载均衡实例。
- 已获取备案授权码。
接下来就开始填写申请表单了,要注意提前准备好身份证,不能用手机图库里的照片,要现拍现用。申请流程如下:
按照页面提示一步步把需要的信息填写完整,基本问题不大。我认为有几点要注意的是:
1、域名实名认证后要满3个工作日才能申请备案,我在这里就踩坑了
2、备案前先不要做A记录解析
2、填写网站信息比较严格,网站名称一定要按规矩来写,否则会被驳回
3、视频验真的时候要注意周边环境,必须要纯白色背景墙,这个审核也很严
4、提交资料后保持手机畅通,半小时左右会收到腾讯云的核实电话
申请提交后会由腾讯云初审,初审通过后会提交到备案地管局复审,页面上会显示大致的审核时间:
正常流程下没有申请加急,我的这次审核还是比较快的。
备案通过后,短信、邮件、公众号、站内信会都给你推送消息。
IP解析
给域名做解析就是添加一条主机记录,这里主机记录会分为几种类型,我们要指向到一台服务器上的话通过A记录映射到服务器IP就可以了,其他几种主机类型页面上有详细的解释。
给域名申请SSL证书
搞证书其实是个麻烦事,平时开发中基本都是用的自签名证书,但是这种对公网环境肯定是无效的。网上也有肯多免费申请SSL证书的教程,不过过程比较繁琐,安全性也不好保证,那要不然就是花钱买正规证书了。
好在腾讯云为了照顾到我这种穷客户,推出了一年有效期的免费证书,香的很呀。
大家会问证书到期了怎么办?很简单,重新申请一个再用一年就好了。
这个申请免费证书的入口大家可以进到SSL证书控制台页面找到,按照它的要求填写资料提交就行了,审核也很快。
那有没有更简便的操作方法呢?必须要有呀。在刚才提到的添加A主机的页面,当你把A记录添加完之后,后面的操作区域有个黑色SSL小按钮,上面提示可以一键给域名生成免费证书,简直不要太巴适~
细心的朋友应该会注意到,证书申请后会给域名新增两条TXT类型的主机记录,这两条正是用来验证证书用的。
给网站配置SSL
证书审核通过后我们首先把证书文件下载下来:
下载的文件是以你域名命名的zip包,里面包含了原始的证书和私钥文件,以及在各大web服务器上直接能使用的证书,可以说是非常贴心了:
我是用Nginx来部署API,先把证书上传到服务器中,然后修改Nginx的配置文件即可:
代码语言:txt复制 # HTTPS server
#
server {
listen 443 ssl;
server_name whdcwe.xxxxxx.cn; ## 换成你的域名
ssl_certificate cert.crt; ## 指定证书地址
ssl_certificate_key cert.key; ## 指定私钥
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://localhost:5000;
proxy_read_timeout 300s;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
配置完成后重启Nginx即可:
代码语言:txt复制sudo /usr/local/nginx/sbin/nginx -s reload
总结
我整个过程花费了差不多10天左右,时间主要耗在了前面域名认证那里,好在腾讯云节假日也是有人值班的,碰到问题收到反馈也比较及时。
虽然官网文档写的比我这篇详细的多,但是我猜想很多人并没有时间和性子一点点去细读文档,希望根据我的这篇总结能帮到你。