linux ping localhost 指向 ::1 的解决方案
写了 http的服务 , 使用 httpie 测试 http get localhost:8080
老是报 503
请求 127.0.0.1:8080 倒没有问题
ping 一下 localhost 发现指向的是 ::1 是 ipv6 的
于是不 hosts 文件 的 ::1 127.0.0.1 注释掉 ,发现还是不管用
谷歌 找到 了一个 方法
echo 'precedence ::ffff:0:0/96 100' | sudo tee -a /etc/gai.conf
执行后 到是 ping 到是可以 指向 127.0.0.1 了 ,
但是 请求 自己的 http服务 还是503
后来发现把 代理关掉 就好了
引用 :
代理服务没有监听 IPv6,你的代理服务就回复 503 说出了问题 , 也就是说你的代理服务没有良好的双栈支持(qv2ray)
所以只要配置了proxy 环境变量 ,那么 http get localhost:xxxx
就会报 503
解决方法 :
- unset 所有 proxy ,以后 用 到 代理的地方 就 使用 proxychains
- 另起个域名在 hosts 里指向 127.0.0.1 吧。localhost 那个大概是 systemd 给解析的所以改 hosts 没用
- 换 别的代理服务器
- 老老实实打 127.0.0.1 吧 ……