现在有一组这样的容器编排
version: '3.1'
services:
adminer:
image: adminer
restart: always
ports:
- 8080:8080
db:
image: mysql:8
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
原则上我是可以通过 chrome 直接访问 http://0.0.0.0:8080
,但是我的 chrome 像是抽风了一样打不开这个页面
于是下载了 firfox ,发现可以顺利打开这个页面,通过搜索发现是代理的原因,关闭代理的情况下 chrome 又能正常工作了,于是我再尝试 http://localhost:8080
,发现 chrome 又可以正常打开了,所以应该是哪里的配置有问题,并且 localhost 和 0.0.0.0 是不一样的处理方式,打开系统的网络设置就豁然开朗了。
这里清楚的写着,localhost(127.0.0.1) 是忽略代理的,再添加完 0.0.0.0 之后,chrome 是可以正常工作的。
再次使用 curl 来验证一下,发现情况是一样的,http 的 body 返回之后, curl 并没有断开。
归根结底是两个原因:
- 0.0.0.0 会走代理,127.0.0.1 不会走代理
- 代理并没有处理好网络请求,可能是 clash 的 bug
网友评论