业务场景:
我需要测试ATS对某个域名(比如news.sina.com.cn)下面的每个html页面的处理效果,这种处理形式很多,比如替换html中的某类链接,或者在指定标签位置插入一行js代码,或者去除hmtl中的空格,重拍为紧凑格式等等,总之,方法真的很多,只要是业务需要,能办到的事都会尽量去办。
下面问题来了?我如何去验证这种网页的处理效果呢?
下面提供一种在Windows下面使用浏览器来测试验证的方法。这种方法的思路,基本上就是对某个指定的域名做正向代理,对访问其它的域名没有任何影响。
客户端设置
在本地Windows测试机上修改host文件
C:\windows\System32\drivers\etc\host
需要使用管理员权限打开Nodepad++,将host文件拖入Nodepad++中,在末尾加入一行
10.10.110.39 news.sina.com.cn
参见下面的截图
按Ctrl+S保存后退出。这里10.10.110.39是我设置在内网的ATS服务器的ip地址。
ATS端设置
同时修改ATS的配置,将
CONFIG proxy.config.http.server_ports STRING 8080 //改为80,为了方便,避免在浏览器输入url加端口
CONFIG proxy.config.reverse_proxy.enabled INT 1 //改为0,事实上是对指定网站(这里是news.sina.com.cn)的正向代理
CONFIG proxy.config.url_remap.remap_required INT 1 //改为0,不需要重写url
开始测试
现在打开任意一个浏览器,在地址栏中输入
点击上面的新闻链接,就可以测试并看到效果了
搭建过程中出现的问题
1.如果不关闭反向代理那个配置项
CONFIG proxy.config.reverse_proxy.enabled INT 1
会出现下面的页面
2.如果ATS的http监听端口是80,但是该主机下面同时运行了一个web服务器,比如apache时,会导致ATS和其80端口冲突,此时停掉apache就可以了。
先查询确认apache在运行
ps aux | grep apache2
运行下面的命令杀死apache进程组
sudo killall apache2
再次确认apache是否成功杀死,然后重启ATS就可以了。