背景
微信公众号页面需要对接微信sdk才能运行正常业务,而微信sdk需要校验当前页面运行的微信环境(安全域名)信息与公众号设置是否一致来保障安全。
前端本地应用只能起在127.0.0.1上,如果前端本地服务需要去对接联调测试环境的服务端,微信校验测试环境安全域名与本地域名不一致,导致本地项目中sdk不可用,鉴权失败。
前端需要通过一定方式去绕过微信的环境校验才能使本地应用对接联调真实的测试环境。
概念
Hosts文件
Hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,
ip地址
网络中唯一定位一台设备的逻辑地址,类似我们的电话号码。
域名
域名是IP的别名,便于记忆,域名最终通过DNS解析成IP地址。
Proxy
代理: 正向代理,反向代理
DDNS
DDNS即动态域名解析,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。
原理
一个正常的访问域名流程: 域名输入后会对域名进行ddns解析, 解析成一个ip, 通过这个ip去访问这个服务器,也就是所谓的反向代理。
我们要做到的:域名输入后解析的ip是我们自己本地的项目。所以我们需要做的是将本地hosts文件的 IP以及域名对应起来,当我们去访问这个域名的时候,他会去找本地hosts文件有没有这个域名,有的话会走到我们的hosts里面的ip
注意
本地转发服务端的接口代理不能用域名只能用ip(不然会访问失败)