项目场景:
旧项目移植到新框架项目启动的过程中,开发人员在系统开发时需要访问第三方系统的接口,而大部分老旧接口因为 IP 或所处网络规则的限制,无法在本地机子上访问。
目前对于此类接口的调试方式是,注释调用代码。但可能导致开发将测试数据提交,引起生产问题。开发设备使用 Windows 系统,无法使用 iptables 命令解决。
有没有一钟办法,在不改变代码的前提下,将 Mock 加入到当下的开发测试环境中来?
探索思路:
更改 HOST 文件。- 目前系统使用数据库查询 IP地址,并生成 CXF客户端调用,并非通过域名解析的方式,外部系统提供的也是 IP地址。修改代码与初衷不服,修改数据库可能造成测试环境中使用的用户操作异常(目前系统开发过程中也有用户简单使用)。
- 如果使用域名的方式,会增加维护组的负担,测试时也有切换网络环境的情况,一般维护组比开发早下班,联调时切换地址就变得很麻烦。
IP 拦截转发。- 工具会报毒,探索正规方法。
- 使用 WIN 自带的
netsh interface portproxy
命令。- 经测试,单纯的使用这个命令只能重定向访问本地的 IP,例如把
127.0.0.1:8080
转到12
- 经测试,单纯的使用这个命令只能重定向访问本地的 IP,例如把