比切换host更牛的多环境开发解决方案他来了

XWProxy

一、简介

XWProxy是一个http(https)代理软件。
在开发web项目过程中, 经常需要切换各种开发环境、测试环境等等。结合此工具可以很方便的
配置和切换各种环境, 以及用于手机app测试.

在这里插入图片描述

XWProxy的一些特性:

  • 支持http和https
  • 支持类似系统hosts功能的配置文件,可以很方便的配置域名指向的ip地址
  • 配置域名时支持*号通配符,降低配置的繁琐程度
  • 修改配置文件后实时生效,不需要重启代理服务
  • 支持同时代理多个端口,并使用不同的hosts配置
  • 支持代理转发时X-Forwarded-For的设置,可以匿名代理、真实代理和伪装ip
  • 支持macOS、Linux和Windows系统

二、应用场景

原则上负载不是特别高的代理需求XWProxy都能胜任,这里列举一些实际使用的例子:

  • 在内网电脑上启动XWProxy服务(不会影响系统的hosts),为手机提供代理,测试网页或APP接口
  • 本机启动XWProxy服务,结合浏览器代理插件(如 SwitchyOmega )随时切换访问环境
  • XWProxy启动多个端口配置多个环境的hosts,结合chrome浏览器不同用户间数据隔离的特性。创建多个本地账户并用插件配置到不一样的端口,从而达到不同的浏览器窗口访问不同的环境
  • XWProxy启动在内网的某一个机器上,让团队成员(开发和测试)共用一套代理服务,保证环境配置的稳定性

三、安装使用

3.1 编译安装

以macOS或Linux为例

$ git clone https://github.com/zh-five/XWProxy
$ cd XWProxy
$ ./build.sh
$ ./xwproxy
Usage of ./xwproxy:
  -c string
    	必须.配置文件(指定文件不存在时将尝试创建默认配置文件
  -d	可选,是否后台运行
  -log string
    	可选.日志文件,后台运行时有效,无则不记录
  -t	检查指定配置文件是否有错误
XWProxy : http(https)代理工具
版本 1.0
项目主页 <https://github.com/zh-five/XWProxy>
问题反馈 <https://github.com/zh-five/XWProxy/issues>

3.2 直接下载编译好的可执行文件

下载地址: https://github.com/zh-five/XWProxy/releases
选择系统对应的可执行文件下载即可

3.3 启动

# 各系统下的可执行文件名称可能有些差别, 请注意替换, 参数是一样的
#1.创建配置文件
$ ./xwproxy -c proxy.txt
指定的配置文件不存在/data/git/github/zh-five/XWProxy/proxy.txt
是否尝试创建默认的配置文件[y/n]:y
已经成功创建默认配置文件: /data/git/github/zh-five/XWProxy/proxy.txt
#2.前台执行(若要后台运行,则需加上 -d 参数)
$ ./xwproxy -c proxy.txt
配置文件解析成功: /data/git/github/zh-five/XWProxy/proxy.txt
2020/06/16 16:47:33 HttpPxoy to runing on 127.0.0.1:8033

3.4 修改配置文件

自动创建的默认配置文件大约如下, 你可以把你的一个测试环境的hosts配置(如abc.com 192.168.6.33)加入到文件中
代理会实时生效. 使用以下命令访问, 会请求到192.168.6.33
curl -x 127.0.0.1:8033 'http://abc.com'

############################################################################
#  xwproxy 代理工具配置文件说明
#  1.'#'开头的行为注释
#  2.一个@addr选项对应一个代理配置, 至少一个, 可配置多个
#  3.修改配置文件后, 实时生效. 但@addr选项除外, 有增删或修改@addr时, 应重启服务
############################################################################
# 监听地址选项, 必须. (一个代理配置的开始)
#只允许本机访问
@addr = 127.0.0.1:8033  
#不限ip可以访问
#@addr = :8033  
# 转发ip选项, 可选, 默认为0.
# 影响转发请求时head里'X-Forwarded-For'的设置, 有三种取值:
# 0  : 不设置'X-Forwarded-For'
# 1  : 按照真实情况设置'X-Forwarded-For'
# 127.0.0.1 : 可以指定的为任意ip
@forwardedIP = 0
# 以下是指定host的配置, 格式兼容系统的hosts文件
# *可用于表示任何非点号(.)的1个或多个字符.
# 匹配时从上到下检查, 遇到第一个合格时停止检查. 建议严格的条件靠前放置
# 以下是几种配置示例(注意:删除ip前'#'才能生效)
#192.168.6.33		example.com
#192.168.6.24		a.example.com b.example.com
#192.168.6.34		xw.a.example.com
#192.168.6.33		xw.*.example.com
# 第2个代理配置开始
#@addr = 127.0.0.1:8024
#@forwardedIP = 1
#192.168.6.33 abc.com

3.4 各种使用场景下的代理配置

本机管理各种开发测试环境

  1. 把系统的http代理配置到8033端口, 为加入到配置文件的地址不受影响. 切换环境时直接修改配置,实时生效(可行,但不推荐)
  2. 代理程序配置多个端口, 每个端口配置不同的环境, 如8033是开发环境, 8034是测试环境等等.
    然后chrome浏览器安装代理插件SwitchyOmega, 设置多个用户, 每个用户配置不一样的代理端口. 这样要切换环境时, 使用不同用户的chrome浏览器窗口访问即可,不用频繁修改配置了.
    手机app测试
    注意要修改配置文件里的addr为:8033, 然后手机连接在同一个局域网, 然后在手机上设置http代理即可
    多人共同测试
    为保证多人共同测试web服务时环境的一致性, 在一台机器上启动一个代理服务, 大家共一个代理服务, 则访问到的环境都是一致.代理服务的配置同上.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值