代理小故障排查

昨天下班前按照这里描述装了Fiddler,手机wifi设置代理通过PC上的Fiddler作为代理服务器向外网发送http(s)请求 。

早上来到,关掉Fiddler,发现所有请求都被代理到127.0.0.1:8888

1$ curl http://www.baidu.com
2curl: (7) Failed to connect to 127.0.0.1 port 8888: Connection refused

并没有手动更改过网络代理,而登录进来就自动设置了代理,所以需要查看下登录login shells时执行的文件

 1cat ~/.profile
 2...
 3# if running bash
 4if [ -n "$BASH_VERSION" ]; then
 5    # include .bashrc if it exists
 6    if [ -f "$HOME/.bashrc" ]; then
 7	. "$HOME/.bashrc"
 8    fi
 9fi
10...
1$ cat ~/.bashrc
2...
3export http_proxy='127.0.0.1:8888'
4export https_proxy='127.0.0.1:8888'
5export ftp_proxy=''
6export socks_proxy=''
1$ ll ~/.bashrc
2-rw-r--r-- 1 zhangqiankun root 4099 1  29 17:38 /home/zhangqiankun/.bashrc

.bashrc文件的修改时间正是打开Fiddler的时间,于是删除最后四行重新启动Fiddler发现.bashrc文件又被写入了。

暂时还不清楚的是Fiddler是如何更改系统网络配置的,而且这种更改发生后,如果终止Fiddler进程,即相应的代理服务器被终止之后,所有的http(s)请求都会因此失败,例如:

1$ curl http://www.baidu.com
2curl: (7) Failed to connect to 127.0.0.1 port 8888: Connection refused

查看网络代理配置,依旧是被修改后的样子

只好删除.bashrc写入的配置,手动改回网络代理配置。