charles 代理无法劫持 127.0.0.1 解决方式

1,360 阅读1分钟

https macOS proxy 都配置了,charles 能劫持到除 127.0.0.1 外,包括 https 等所有请求,到底怎么办呢?

配置 hosts

sudo vi /etc/hosts

/etc/hosts

127.0.0.1       cellar.test.com

浏览器访问 cellar.test.com:3001 即可。

原理:省略 dns 解析,访问空格后面的 cellar.test.com 相当于访问 127.0.0.1

Invalid Host header

如果浏览器提示 Invalid Host header (vue项目)

在webpack.dev.conf.js的devServer配置中添加disableHostCheck: true

    devServer: {
      disableHostCheck: true,
    }

这是由于新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname 不是配置内的,将中断访问。