whistle connect ECONNREFUSED 127.0.0.1:80 异常解决

3,288 阅读1分钟

问题

使用 whistle + SwitchyOmega 代理 www.test.com 到本地 localhost:8080, 按照whistle的官方文档配置后,打开www.test.com浏览器报错如下:

image.png

whistle的安装与使用

whistle是一个代理配置工具(使用文档:wproxy.org/whistle/

  1. 首先安装node

    访问 nodejs.org/,安装LTS版本的Node,默认安装即可。

    命令行执行node -v,显示版本号即安装成功。

  2. 安装whistle

    // 全局安装whistle
    npm i -g whistle 
    // 如果是windows、mac的非root用户 
    sudo npm i -g whistle
    // 如果下载很慢,可以使用淘宝的镜像进行安装
    npm i whistle -g --registry=https://registry.npm.taobao.org
    
  3. 启动whistle&常用指令

    // ps: 非root用户指令前加sudo
    // 启动
    w2 start 
    // 重启
    w2 restart
    // 停止
    w2 stop
    
  4. 配置代理(这里推荐浏览器代理的方式)

    (1) 下载浏览器插件Proxy SwitchyOmega (只是一个浏览器代理设置工具,不提供代理服务器)

    whistle服务默认是启动在8899端口,ip为127.0.0.1(ip为启动whistle服务的主机ip) ,故如下设置

image.png

(2) 我们需要给代理服务器配置一些转发规则(配置地址),

image.png 如上图配置,现在访问 www.test.com,拿到的是本地localhost:8080的前端资源,接口通过devServer代理使用指定环境接口

解决

将代理的本地地址由http://localhost:8080/改为http://0.0.0.0:8080/或者本地服务IP + 端口号即可

image.png

原因不详,参考 www.cnblogs.com/sddai/p/928…