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

解决方法 :

  1. unset 所有 proxy ,以后 用 到 代理的地方 就 使用 proxychains
  2. 另起个域名在 hosts 里指向 127.0.0.1 吧。localhost 那个大概是 systemd 给解析的所以改 hosts 没用
  3. 换 别的代理服务器
  4. 老老实实打 127.0.0.1 吧 ……
posted @ 2022-06-17 21:01  ifnk  阅读(1779)  评论(0编辑  收藏  举报