Gemini网络代理中遇到的问题汇总
代理Gemini中遇到的网络相关问题解决
情况介绍
作为重度的AI依赖者,没有AI的每一天我都觉得十分难受。最开始我是跟着技术爬爬虾1第一次弄的Gemini代理,后面用上瘾了,就离不开了。自第一次弄了代理之后我已经遇上了两次“大规模”AI荒了,代理有两次失效。第一次是因为us.kg的域名解析服务被有的滥用的狗搞坏了;而第二次现在我刚刚解决的,这也是今天写本文的原因。
配置代理的过程我也是跟着技术爬爬虾1一步步做的,第一次配置代理时参考的是如下视频,配置了CloudFlare的代理,还申请了域名:
第二次弄代理时,项目有更新,参考的是如下视频,将项目还部署到了Netlify:
不止如此,后面遇到网络问题我还按照项目2的介绍部署到了Deno3。
问题出现
最开始我部署的时候使用没有任何问题,我甚至还顺手给同学弄了一个。但是回到家之后网站就不能使用了,不仅仅是我本来托管到CloudFlare的两个本来就十分不稳定的域名不能使用,甚至连Netlify上的都不能使用。即使我后面又在Deno上部署了一个,但是依然不能使用。起初我还以为是部署有问题,因为有报错说找不到函数,我还去Github上问,截止今天也没有人回。可是我手机使用流量又可以访问(除了CloudFlare托管的两个域名,有意思的是,最后只有它俩能用我的电脑访问😂),甚至后来这能访问的流量,都不能访问了(好在这时我搞定了电脑访问的问题)。
问题解决
怀疑电脑
今天我终于下决心要解决一下这个问题(毕竟没有AI真的不行),于是我,在家里,拔掉网线,连手机流量(多抽象),一遍问AI,一遍尝试解决问题。首先我希望能够访问Netlify和Deno,因为CloudFlare的两个访问有问题已经多次出现了,我感觉解决概率不大。考虑到局域网不能访问,而流量不能访问的情况,AI和我都首先怀疑了路由器,nslookup
、ping
、tracert
命令都用上了,检查许久都查不出问题,Netlify和Deno的域名DNS解析正常,也能ping
通(当时通了,可是我现在ping不通了),而tracert
报错,但是报错又不在路由器级别,在很靠后的位置报错的。当时也不太可能怀疑网络服务商的问题,所以AI也不知所措,这导致对网络一无所知的我也不知所措,就在四个域名里来回乱测乱问。
过了一会我才冷静下来总结当前情况,当前情况是CloudFlare的两个域名,DNS解析就有问题,解析结果是127.0.0.1,指向本机,导致ping
是通的,而tracert
只有一跳,即本机的一跳;Netlify和Deno的域名前面说过了。而且我还让同学帮我测试了一下,他那里四个域名除了一个CloudFlare代理的,其他都能用,此外我还把他正常使用的部署在Netlify上的域名拿来测了,他那里正常使用的我这里就报错。
Netlify和Deno不能访问的原因
直至此时我还在怀疑是我的电脑的问题,在我的电脑上像无头苍蝇一样乱飞找原因。什么关闭VPN,什么修改hosts文件,我都跟着AI搞了,直到AI让我完全重制电脑DNS记录(我嫌重启麻烦,没有照做)我才上网去找办法,并且在同一局域网下另外两台电脑进行了同样的测试了之后,实在找不到问题我才开始怀疑网络服务商的问题。主要因为tracert
的记录报错靠后,是数据在传输时报错的,而且路由器在我检查之后发现没什么问题,三台电脑也同样地报错。最后我认为Netlify和Deno的两个域名不能使用的原因就是跨国数据传输时,服务商把我的数据直接丢弃了,以至于我运气好的时候能连上(然后报找不到函数),而流量能连上则是因为跨国数据传输它们没有走同一条通道。原因是找到了,但是针对这个原因我也不可能做什么补救措施,因为换网络服务商是很麻烦的事情,我也没有理由让家里换,所以这时我就只能尝试一下CloudFlare上的两个域名能不能救一下了。
CloudFlare不能访问的原因
有了上午的经验,下午我针对CloudFlare弄的时候就有头绪多了 (虽然我上午也弄了)。我先盯着CloudFlare侧的日志,在我的电脑上发访问请求,我发现访问请求根本没有到CLoudFlare,云端根本没有访问记录,再加上上文说了DNS记录有问题,解析出来127.0.0.1。问AI,AI让我下Wireshark(一个抓包软件),在网络通信记录里可以看到不论是手机流量还是局域网DNS解析都是127.0.0.1。于是我又上网去查(实在不信AI了),发现这可能又是服务商搞的鬼,因为服务商觉得这个域名有问题,故意给你返回一个错的DNS记录,也就是所谓的被墙了。所以我又去找在线的网络测试测试不同地区不同服务商解析的结果如何。结果发现,只有我这个省、我这个服务商解析结果是127.0.0.1,其他地区,其他服务商解析结果都不是这样的😡。然后再根据一篇博客去净网云剑查发现真的被封禁了(虽然时间和地区都对不上),基本上确定就是被墙了,不过相较于前面的原因,这个原因还是有解决办法可以解决的。
解决办法
原理和流程
既然只有这一个服务商的DNS解析不正确,那我换一个DNS解析的服务商不就是了?正巧CloudFlare就提供免费公开的DNS解析服务,解析托管在CloudFlare上的域名不是很合适?所以下面就要更改电脑的DNS解析服务商设置,一般情况下都是电脑自己选择DNS解析服务提供商,这里我们强制其使用CloudFlare解析DNS记录就是了,流程如下:
第一步进入控制面板
然后找到网络和Internet (Network & Internet)
下的网络和共享中心 (Network and Sharing Center)
再找到现在正在使用的对应的网络连接,比如我连接局域网时是这个
进去点击属性,再双击蓝框
然后设置DNS解析提供商
这里默认勾选的是上面的那个,我们需要改为下面的,也就是强制使用我们配置的提供商,第一行是一般使用的,第二行是备用的,都是同样地填。CloudFlare填1.1.1.1,谷歌的填8.8.8.8,备用为8.8.4.4。填好后确认,关闭即可,不需要重启电脑即可生效。
使用nslookup
再测试一下托管的域名,开头出现
1
2
Server: one.one.one.one
Address: 1.1.1.1
并且不返回127.0.0.1就说明配置没问题了。
其他影响
这样确实能解决访问的问题,但是也有其他影响,也就是任何电脑上的域名都会使用CloudFlare进行解析,有可能会比电脑之前的解析速度慢,我目前不是很清楚十分速度有区别,但是这一点确实值得单独提出来。
后记
如前面所述,经过几天的使用,我发现确实其他网站的解析速度受到了比较明显的影响,所以我又找到一个方法能够不影响其他域名的解析,通过Windows的组策略配置可以做到仅仅对满足过滤条件的域名起作用,但是缺点是家庭版打不开组策略,因而无法使用。配置方法如下,参考文章4。
首先,win+r
打开Run,输入gpedit.msc
,然后依次点击:计算机配置、 Windows设置、域名解析策略,如图:
随后也如图右侧一样设置,Suffix
表示匹配域名后缀,后缀匹配右侧规则就起作用,dpdns.org
就是我的域名后缀。下面选择开启DNS设置,点Add
添加DNS服务器,这样满足条件的域名就会使用这个服务器进行解析。最后点创建(Create)
,然后应用(Apply)
就可以了。
至此配置就完成了,但是值得提醒的是,即使配置成功了,nslookup
测试返回的地址仍然是错误的127.0.0.1,因为这时并没有使用1.1.1.1对域名进行解析,仍然是使用的默认DNS解析服务器,但是如果你ping
一下,这时返回的ip则是正确的ip地址,而不是127.0.0.1,并且AI客户端也能连接上,这就说明配置成功了。(而且我感觉配置好了之后,对比前面的全局设置,速度还要快🎉👏)