微信小程序合法域名检验实测成功

【写在前面】
本人技术宅小小小白一枚(菜要说三遍),最近写完一个小程序后发现如果没有配置合法域名的话,就只能在调试模式下响应自己搭的服务器后端,自然这是比较麻烦的,所以问了很多大佬,自己也在网上搜集了很多方法,终于实现了!

【前提条件】
搭过小程序的朋友想必都很清楚,小程序对于域名的要求是比较高的,需要校验TLS版本以及HTTP证书,讲白了就是需要https开头的域名,详细见下图:
图片来源:小程序开发文档
所以在看下面内容前,你要具备:
①需要用后端与自己的小程序进行交互(wx.request()…)
且后端已经搭建完毕,只差反向代理临门一脚
(我本人的小程序后端是基于python的flask框架)
②阿里云(或其他)上有已经备案过的合法域名,具体百度上都有,可以先去看看。
③云服务器上已经安装过“宝塔”服务器运营管理面板
注意:一定要在自己的云服务器上装宝塔,而不是自己的物理机上!!!

怎么,现在都安装好了?那我们就开始吧!

1.安装“宝塔”服务器运营管理面板

安装链接:https://www.bt.cn/
(版本根据你自己云服务器的系统去选择)
我的云服务器系统是windows server 2012 , 所以我将以我的云服务器为例讲解具体的操作。
安装完成之后界面如下:
面板初始信息
从上图中我们根据提示访问面板地址,输入账号和密码
注意:面板地址在本机打开,宝塔在云服务器上就行
如果打开的网址无法显示,则看一下注意事项。首先检查一下自己浏览器版本是否符合,如果还不行,则需要我们前往阿里云设置一下安全组内容,放行它所列出的相关端口。具体操作如下:
①登录阿里云服务器,进入控制台,在上方的搜索栏中可以直接搜索“云服务器”选择 云服务器ecs控制台进入,然后点击 网络与安全,再选择 安全组,进入 配置规则
安全组界面
进入如下界面:
配置规则
入方向添加安全组规则**(右上方)
端口范围选择1/10000(意思是匹配端口范围为1-10000)
授权对象填写 0.0.0.0/0(意思是默认匹配所有端口)
添加安全组规则
以上操作完成后,那么我们的安全组就成功放行了1-10000的所有端口啦!!!这时候我们再打开面板地址,输入提供的用户名和密码就可以进入宝塔啦!!!
在这里插入图片描述
这时候一般会有弹出框,让你选择下载一种web服务器,一定要选择噢,后面反向代理要用到,这里我选择下载的是Apache服务器。
不要骄傲呦,后面的路还很长!

2.下载FRP内网穿透工具

官网上都可以下载,附上链接
http://www.chuantou.org/
(下载不了的话私信我发你安装包)
要注意的是,在你的本机和云服务器端都要下载FRP,需要同时配置服务器端和客户端,实现交互功能
这里需要解释一下为什么要下载内网穿透工具,以下仅是我个人的一些理解,如有错误,欢迎指正:
专业知识不够,只能讲个大概,我们自己搭的小程序后端是在我们本机的局域网下运行的,要想实现用户通过外网访问小程序并响应服务器,则需实现内网穿透。
当然,我们也可以不需要用内网穿透,直接放在自己的云服务器下跑就可以了,不过自己在使用云服务器跑小程序时,无法顺利响应后端,故只能移步到我的本机
这时候我们的FRP闪亮登场啦!!!之前有用过花生壳和NATAPP,嘶感觉解决不了我https响应的问题
①下载完成后,打开文件,显示如下:

文件夹内容
可以很清楚看到,里面包含frpc(客户端)和frps(服务器端)两类文件,下面我们开始配置吧!

②首先我们在云服务器中打开该文件夹,双击打开frps.ini文件,将里面内容修改为:

[common]
#服务器端端口
bind_port=7000
#客户端连接凭证
privilege_token=5201314
#最大连接数
max_pool_count=10

#客户端映射的端口
vhost_http_port = 5200

#服务器看板的访问端口
dashboard_port=7500
#服务器看板账户
dashboard_user=admin 
dashboard_pwd=admin

打开服务器的cmd,cd到文件夹路径,输入

frps.exe -c frps.ini

注意这是在服务器里的命令!
运行成功界面
③在本机中,同样进行相应的操作,但注意

[common]
server_addr = xx.xx.xx.xx    #云服务器的公网ip地址
server_port = 7000
privilege_token=5201314
[web]
type = http
local_port = 5000  #默认响应端口
custom_domains =   xxxx    #合法域名
[tcp1]                                             
type = tcp                                       
local_port = 9091                           
remote_port = 1111 

不清楚也没关系,照样子改一下,后面再深入学习
打开本机的cmd,cd到文件夹路径,输入

frpc.exe -c frpc.ini

注意这是在用户机里的命令!
运行成功界面
以上我们就已经成功实现内网穿透啦!!!
接下来就是见证奇迹的时刻

首先我们在本机上打开实现准备好的域名,加端口7500

#服务器看板的访问端口
dashboard_port=7500

输入用户名和密码—>均为admin,在服务器端自行设置

#服务器看板账户
dashboard_user=admin 
dashboard_pwd=admin

进入的页面就是我们实现内网穿透的详细信息啦

然后 我们更换端口为5200

#客户端映射的端口
vhost_http_port = 5200

进入的页面就是我们后台所实现的功能界面啦(如果你写了与小程序响应的页面的话)
我的后端下的网页

做到这里我们已经成功实现了内网穿透喽!

3.使用Nginx/Apache实现反向代理

①这里我们就要用到宝塔啦,进入宝塔,在左侧选项栏中选择网站,点击添加站点
添加站点
②建好后,点击域名进入,在左侧选项栏中选择SSL
下载SSL证书并输入密钥及证书(百度有教程)
SSL
③再在左侧选项栏中选择反向代理
反向代理
③然后点击添加反向代理,相应操作如图:添加反向代理
(我用的是Apache服务器,和nginx服务器的弹出框稍微有些不同,不过无影响)

④最后在浏览器中输入域名
反向代理后后端网页
啊!终于结束啦!至此,我们已经成功的通过Apache反向代理实现了我们所需要的端口转发啦!这时候我们再用小程序调用wx.request()、wx.uploadFile()等函数就可以在检验合法域名的情况下轻松的返回想要的数据啦!!!
小程序里链接外网

【写在后面】
对于小程序只能在调试模式下返回数据实在很闹心,所以解决上述问题之后实在“大快人心 ”!上述过程若有疑惑之处,欢迎留言或私信交流哦!看完后觉得有用的话,点个赞再走呗

最后祝大家生活愉快,bug都会改!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南浔Pyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值