寒假在家上网的时候发现*.appspot.com
的网站统统无法访问,虽然我已经将博客从GAE撤出来了,但是GAE上还放着GAppProxy和WallProxy,GAE的存活与否直接关系到能否翻墙,因此必须尽快解决这个问题。
但是在网上也没有发现appspot被墙的消息,因此怀疑问题出在我家宽带的运营商——中国联通。检查了一下电脑的DNS地址,是自动获取的运营商提供的DNS地址,将其更换为Google Public DNS,8.8.8.8以及8.8.4.4,果然,appspot又可以正常访问了。
可是好景不长,今儿发现通过WallProxy访问的网页又Error了,看来是appspot又无法访问了。
检查了路由器和DNS之后,确认这次是真的无法连接到appspot了,ping都ping不通了...
解决方案在此:
编辑WallProxy的配置文件proxy.conf,将其中的代理设置为‘proxy': {'http': 'www.google.cn:80'}
再试着通过WallProxy打开网页时,发现一切又恢复正常了!
但是此时如果直接访问.appspot.com仍然是不能访问的,我们仅仅是通过www.google.cn的代理去访问.appspot.com的,这其中的原理[这篇文章](http://www.douban.com/group/topic/9181172/)中写得很详细。
简单的说,Google的所有服务都是可以通过一个相同的服务器访问到,Google根据请求的URL当中的域名来决定应该定向到哪个服务。www.google.cn一样可以访问到所有的服务,例如App Engine。但是因为DNS服务器的原因,appengine.google.com会被定向到Google美国的服务器,不会去连接http://www.google.cn/。但是事实上,如果我们能够向www.google.cn发送一个HTTP请求,其中的URL是指向appengine.google.com的,服务器一样能够帮我们中转请求,并把结果会传给我们。
不知道这个方法还能维持多久,总之,现在又能翻墙啦~~
UPDATE:发现Hotot还是无法使用,因为我用的是自己在GAE上搭建的API,于是在Hotot里设置代理www.google.cn:80
,问题解决。
Leave a Comment