美文网首页前端小栈
【解决】charles代理与host污染

【解决】charles代理与host污染

作者: 木羽zwwill | 来源:发表于2017-06-07 19:10 被阅读296次

    mac谈到代理就不得不说神器charles,虽然是神器也有不方便或者不合理的地方。

    前言

    产品在完成开发后会经过开发测试、冒烟测试、预发布测试,最后才能上线,为了保证测试代码统一,几个环境的代码和配置包括域名必须一致,那么QA在移动端测试时就要配置host、IP共享或者代理,windows上的代理多用Finder,mac下是Charles,正常情况下,我们测试都会很顺利,但有的时候会出现配置和环境的坑,下面详细解释。

    举个栗子:【前提:MAC+Charles】

    . .
    项目域名 www.zwwill.com
    线上ip 192.168.1.1
    测试ip 192.168.1.2
    项目依赖资源域名 st.zwwill.com

    *** 重要前提:www.zwwill.comst.zwwill.com的线上IP相同,且由ngnix做rewrite定位 ***

    由于我们在测试环境时【项目依赖资】需要使用线上的资源,所以测试环境的ip映射关系应为:

    域名 IP
    www.zwwill.com 192.168.1.2
    st.zwwill.com 192.168.1.1

    测试时的host配置为:


    host配置

    在不做charles代理的情况下此坑触及不到,如果开启了charles,坑就出现了。

    坑的模样

    控制台信息

    奇怪的是,我们的test.js(st.zwwill.com/common/test.js)文件404错误!
    看下Charles的record信息:

    www.zwwill.com下的文件
    www.zwwill.com】指向IP【192.168.1.2】正确! st.zwwill.com下的文件

    【st.zwwill.com】指向IP【192.168.1.2】错误!❌

    查查原因

    检查完log后发现,Charles的代理模式在处理此重情况下会出现误判!导致同源下的资源也走了重定向,这不是我们想要的结果!

    解决方案很简单

    既然Charles没有我们想想的这么智能,那我们就找个方法绕过这个坑。
    很简单,只需要将【st.zwwill.com】指向我们的线上IP【192.168.1.1】就好。

    正确的效果

    相关文章

      网友评论

        本文标题:【解决】charles代理与host污染

        本文链接:https://www.haomeiwen.com/subject/yugofxtx.html