以下只是提供一种开发过程中遇到的问题处理方法,具体过程可能需要掌握比较多的工具使用才能玩转。
1. nginx 篇
1.1 部分接口只能在指定的IP或者服务器环境下才能调用
这种情况多少用于此接口有比较高的安全限制才会限制调用者IP,这个时候如果希望客户开放端口可能比较麻烦。不开放的话在上面调试是比较困难的。这个时候可以使用 nginx 的方向代理。把需要调用的接口进行代理,对外
如果没有了解接口或者没有把握的话,建议不要直接连接调试。容易发生事故。
1.2 VPN 工具或者其他代理工具在 macos 平台下使用不了情况。
由于我的电脑是 macos,有些 V P N 工具在这个平台下是使用不了的。那我开发环境都是在 macos 下的,那就等于断我手脚。
解决办法原理:使用一台机器安装此工具,在利用 nginx 代理相关端口,然后你的 macos 就直接调用此代理服务器。具体步骤如下:
- 先使用虚拟机(我用的是vbox)安装一个可以使用这个工具的系统(w7/w10)。也可以直接用一台其他的电脑,但是如果没有多网卡的情况下,你连上类是于 V P N 这样的工具时,有可能会阻断了你内网的联通。导致你的 macos 主机和 这台物理机不联通,从而失败,建议还是使用本地安装一个虚拟机。
- 安装好虚拟机后设置2个网卡,一个走
仅主机
(这个用来内网联通的), 一个配置你主机的网卡(这个用来上网的),如下图

- 配置 nignx 的相关反向代理的配置即可。
- macos 调用的时候使用
仅主机
这个网卡的 IP 进行调用即可。
2. hosts 文件篇
2.1 开发调试 CAS 相关认证逻辑
有时候我们去调试 CAS 认证的时候,大多数 CAS 服务器只支持域名的回调,这个时候我们本地开发需要调试的时候。要么就向公司申请一个域名。这个时候其实可以直接使用 hosts 来指定域名与主机的关系,如:
127.0.0.1 yourCasServerUrl.com
由于 CAS 的原理,这样做是完全可以骗过 CAS 的。
macos 路径: /etc/hosts
window 路径:C:\Windows\System32\drivers\etc\hosts
2.2 需要测试浏览器同源策略的操作
如果我们有一个需求是做 A 网站和 B 做统一登陆,这个时候A、B的域名必须是同源的。我们本地开发这个功能的时候也可以使用 hosts 来模拟开发。
3. 微信开发
3.1 开发数据回调或者页面访问功能
通常微信开发需要准备2个东西,一个是一个80端口的公网 IP,一个是域名。普通的公司一般都可以提供一个域名(除非公司连官网都没有)。但是一个公网的 IP + 80 端口就不是那么容易拿到。一般来说 80 端口是需要报备的。因此可能有一个简单快速的解决办法。前提之下是有域名了。
- 可以去一些内网穿透的提供商购买一个服务,可以直接将内网的机器映射出去(映射出去就是一个80端口),例如 https://www.ngrok.cc/ 这个去申请。
- 购买成功需要运行相关配置即可,另外需要网络管理员去公司域名的 DNS 中添加一条 CNAME 记录
完成后即可在本地愉快开发功能了。
网友评论