首先需要介绍一些SSL/TLS的知识。当你以https的方式访问某个域名时,客户端(浏览器、App等)会向服务器请求证书,这时服务器会返回与域名一样的证书验证连接 比如你访问 www.google.com ,则返回 www.google.com 的证书来进行验证,验证通过之后才客户端才会继续建立加密连接
如果你访问 www.google.com ,而服务器给你返回 *.googleusercontent.com 的证书,那么只要是个客户端都不会继续建立连接了(360这种无视证书错误的奇葩除外)。
一般来说,一个IP的一个端口只能使用一个证书,而网站却可以有无限多个,如果是这样的话IP枯竭会提前到来的。聪明的人们想到了一个方法来改变现状:服务器名称指示(SNI)——在建立SSL握手请求时的加一个Host信息来标记要访问的域名,以便服务器解析Host信息后返回了正确的证书,这让一个 IP地址一个端口 得以使用 多个证书 。这也正是为什么可以在hosts里大量使用同一IP的原因。
当然,这需要服务端和客户端同时支持SNI。如果服务器支持了SNI而客户端不支持SNI,那么 以上技术均是白瞎 ,依旧只能获取到默认的证书,当证书错误时就不会继续建立SSL握手连接了。
以下是支持SNI的浏览器
Internet Explorer 8 及以上 (XP SP2及以下均不支持,SP3需安装补丁)
Internet Explorer 7 及以上 (Vista或更高级的系统)
Mozilla Firefox 2.0 及以上
Opera 8.0 及以上 (the TLS 1.1 protocol must be enabled)
Google Chrome 6.0 及以上
Safari 3.0 及以上 (Mac OS X 10.5.6 以上)
MobileSafari(iOS 4.0以上)
Android 自带的浏览器 (Android 3.0 以上)
接下来回到正题,为什么不推荐在移动端使用hosts呢,这就和上面提及的SNI 有关了。咱们举个简单的例子吧
原本你使用V. P恩可以在 GooglePlay 上下载App,但修改hosts之后不但不能下App,连预览图都无法加载了,就算再用V. P恩也无法正常工作
这是因为GooglePlay这个App不支持SNI,应用预览图的地址是
lh*.googleusercontent.com
因为封锁太紧的原因,无法找到默认证书为 *.googleusercontent.com (泛域名) 的IP,在修改hosts后因为证书错误的原因,应用便无法正常加载图片。
嗯,这就是hosts的局限性所在了,如果你只是使用Web服务的话,可以无视这篇文章,如果你需要使用各种Google服务(例如play﹑hangouts)的话,那么不推荐使用hosts这种方法。
本文转自:思起
原创文章,作者:老D,如若转载,请注明出处:https://laod.cn/1431.html
评论列表(48条)
play商店好像支持sni了,最近我一直都可以直接下载应用
应该把最后一段话放在前面——嗯,这就是hosts的局限性所在了,如果你只是使用Web服务的话,可以无视这篇文章,如果你需要使用各种Google服务(例如play﹑hangouts)的话,那么不推荐使用hosts这种方法。——比较好
219.76.4.4
219.76.4.3
61.91.161.217
Google的IP到底用哪个好?
好用
我改了host之后play也能看,googlenow也能用,ins,youtube都可以用。就是不可以在play下载,可是如果是chrome下载却又可以,总的来说,除了play不可以下载之后其他google服务一切正常。。。
@CrazyYan:请教一个问题,刷了第三方rom,然后挂host可以在play商店下载应用;用官方rom挂同样的host却不能下载。这是什么情况。。。
@CrazyYan:play 游戏能登陆吗?
我的账号怎么登陆不了呢?
google play确实可用,有些机器可能不行吧,大家可以试一下,反正也没有什么损失
@薛慕白:坑了,能浏览应用,就是下载不了,不过挂V@PN可以下载
@薛慕白:还有就是能访问youtube,去看不了视频,连接上V@PN就能看了
@823422841@qq.com:原因很简单,你无法把所有跟Google相关的域名用Hosts重定向。
其实是可以的。只不过需要正确的谷歌IP,而这IP比较难找而已。
表示用hosts 使用ok google可以识别我的声音但是 紧接着搜索会提示离线
虽然用 Hosts 之后,Google Play 不能下载应用(浏览应用还是可以的),youtube 不能看视频,但是挂了 V@PN 之后就可以了。
只是 Google Play Games 这个玩意儿,修改 Hosts 之后无论挂不挂 V@PN 都连不上(改回来又能上了)。
……大不了不用。
web服务不是网页服务吗?我用手机hosts可以登录Twitter客户端啊,安全吗,老D
刀哥,我手机上用了hosts了,但是只能在数据流量上网时才能登陆google,用WiFi的时候却不能,这是为什么?
@超:我正好反过来啊,流量的时候就不行了,这是什么原因?
顺便求问一下通过路由器自定义hosts的可以使用谷歌框架那些的么
老D,我是小白,可以请教一下你说的这种情况适用于通过路由器(极路由自定义hosts)上网的手机吗
@萧罔兹:应该可以,你试试
@老D:我在自己的mac搭建的dns服务器,有些域名默认使用hosts配置,google的所有访问都正常,唯独不能在google play理下载或更新app,有什么解决办法吗?
麻烦更新一下链接
https://blog.aofall.com/index.php/archives/2015/11/about-hosts.html
@A_of_All:已更
@老D:丢数据库了,重装后把文章结构改变了,固定链接也改变了
需要更换一下链接 https://blog.aofall.com/archives/3.html
@aofall:好的(论:数据备份的重要性)
127v2已被百度云识别为不安全内容,估计是被盯上了
@AZ:百度还是google浏览器?
话说,我用老D的hosts可以上谷歌play下载东西什么情况?
@杨孟之:有时候可以,有时候不行
涨姿势
我今天发现老D的hosts不能用了,原来的,更新后发现还是不行,是不是又被封了,太快了吧
代理当然可以,但是我最近也在找hsots和代理同时生效的方法,最近比较纠结家里的网,代理会直接绕过hosts···
表示play商店也能行啊
原来如此,了解。那有些需要google服务的游戏是不是也会受此影响?
@nokiben:不会的,这个我已经试验了,你登陆游戏的时候会即时更新你的用户等级和成就
手机moto G用host, 网页能上, play上不了的,不过我并不怎么用play
另外原先连不上gg只能待机2天, 现在5天了还乘35%电
除此之外,那几个play商店的ggc早就被翔了,改hosts也没用
昨晚和哥们喝多了,各自回家。她妈妈半夜两点多打电话给我说我哥们现在还没回去。给我吓坏了,一通找。最后发现在他家小区花坛里睡着,衣服裤子和鞋整齐的放着,就穿个花裤衩,还把手机充电线插土里。
怎样注册
http://blog.aofall.xyz/index.php/archives/2015/11/about-hosts.html
再次提醒转载请注明来源,虽然说我把文发到了hosts的Wiki但不代表这可以不注明来源。
@A_of_All:写了的,你注意看
@A_of_All:本文参考/转载自:本文转自:瞬间少年
但是主题功能好像没有超级连接,明天我有时间直接贴在底下
[给力]
ios呢?
博主在移动端有其他方法吗,GooglePlay上不去在后台一直耗我的电,有点麻烦。 烦请赐教。
@领导你好黑:V@PN SS
[给力]