前言

两年前写的一篇文章有提到过bing反复重定向的问题导致不能访问。但该文只是略微提到了是dns造成的,并没有详细给出解决方法,这次直接给出解决方法

解决方法

提供多种改法

修改hosts

修改hosts文件,路径为C:/windows/system32/drivers/etc/hosts(建议使用vscode或者notepad++这种软件打开比较方便使用管理员权限,使用记事本打开会无法保存)

将bing域名写死国外ip即可,添加以下内容

150.171.27.10 www.bing.com

openwrt

方法一

写hosts文件,同上,一般linux位于/etc/hosts

方法二

代理ipv6流量

方法三

若你的dns解析服务器使用的是smartdns,且passwall不代理ipv6流量,设置smartdns强制返回ipv4结果即可

关闭ipv6解析

排查过程

这里开始为我的排查思路笔记,若你已经解决可以关掉此页面了,有兴趣可以接着看一下

首先确定远程服务器是可以直接访问https://www.bing.com且不会跳转的

curl https://www.bing.com -v

用curl verbose查看访问

这里返回的是200而非301,302

切换到本地用同样命令测试一下,发现无论是cn.bing.com还是www.bing.com都返回的301

301 bing

这时候看到bing的解析记录是包括ipv6的

解析包括ipv6

我想起来我的passwall是过滤ipv6请求的,于是尝试代理ipv6或者解析只返回ipv4,就不会出现重定向的问题了

问题至此解决