有没有人碰到最新的 chrome 把开发环境自定义的.dev 域名都跳 https 了

2017-12-11 10:32:54 +08:00
 zjsxwc

今天来上班, 用 mac chrome 打开我本机开发域名 http://my.dev 他都强制跳了 https://my.dev

换 firefox 和 opera 却都没这问题

11163 次点击
所在节点    程序员
99 条回复
mooncakejs
2017-12-11 15:35:27 +08:00
@audoe 大哥,这个世界如果不讲标准乱来,还要 w3c,反垄断组织干嘛,微软是不是也可以说我的系统,不能装其它浏览器?
mooncakejs
2017-12-11 15:55:12 +08:00
@msg7086 这就涉及到大家怎么理解互联网了,从 http 等协议看,互联网是一个去中心化的组织结构,包括域名 DNS 解等,私网公网表现不一样没有协议本身的约束。
包括浏览器,浏览器也有不同的理解,本身是一个工具还是一个裁判? hsts 协议只规定了怎么缓存这个域名,preload list 就是浏览器本身的野心,它跳过了通过 http 协议的方式决定了访问方式,如果更进一步,它还可以跳过 DNS 请求,因为 IP 地址也可以通过 preload list 进入浏览器,甚至还有性能上的提高。
包括去年的证书事件,虽然谷歌的出发点很伟光正,但是决定是否不信任证书的权限是属于一个浏览器还是属于操作系统,它的决定权属于一个组织结构还是仅仅一个浏览器公司?如果谷歌真的那么无私,那么这个权限交给操作系统显然好过浏览器本身,因为如果假定第一个 http 请求就会被劫持,浏览器下载过程也是可能被劫持的,操作系统却是由比较可靠的人或者结构 /媒介分发的。
msg7086
2017-12-11 16:10:12 +08:00
@mooncakejs 是这样,但是 Preload 必须要域名拥有者申请才能加入,所以最终是否植入用户电脑,是由域名所有者决定的,谷歌从浏览器的角度没有任何权利去擅自决定加入哪些域名。这次 dev 和 foo 域名加入 Preload,开源项目 Chromium 上源代码签入时间是 9 月 15 日,生效(推送到 GA )是 12 月,中间整整 3 个月的公示期。一个全世界盯着的开源项目,3 个月的公示期,你说决定权完全在谷歌,我觉得这报道有偏差。

浏览器下载过程可能被劫持 —— 你是怎么下载的呢?如果是使用任何一个其他支持 HSTS Preload 的浏览器,那自然不会被劫持。如果不是,那当然怎么都会被劫持,甚至你下载的可能都不是 Chrome。这恰恰说明了 Preload 的重要性,大家都用 Preload,就能保证从头开始就不被骗。

交给操作系统也没有那么简单。操作系统安装盘下载的时候就不会被劫持了吗?桥洞下买碟就不会买到拍黄片吗?
leetom
2017-12-11 16:16:56 +08:00
@mooncakejs
一个商业公司,不要真的指望它不作恶
棱镜门这么快大家都忘了吗?
msg7086
2017-12-11 16:18:30 +08:00
安全本来就是个很复杂的话题。安全性和自由度是对立的。安全意味着更多审计,更多管控,复杂的机制,可能会不兼容旧版的网站(比如 SSLv3 ),可能会对不规范使用网络产生影响(比如 hosts 写入不属于自己的域名来劫持 IP )。要自由则意味着更容易被人搞事(能 hosts 劫持就能 DNS 污染,能 HTTP 就能 MITM 等等)。对于普通用户来说,安全性比自由度更重要。

说野心的话,操作系统内置 Preload 也可以看成是野心呢。
mooncakejs
2017-12-11 16:32:54 +08:00
@msg7086 系统的安装者比使用者更专业。另外对于安全来说,其实商业 /企业客户更在意。preload 安全的前提是第一个浏览器就已经内置了,那我可以理解成,还是要系统内置。那既然系统已经内置了,为什么再搞一次。
同时又带来了一个新的问题,域名所有者的权益与内网的权益冲突,在一个机构或者说公司,其实有权限定义乃至劫持任意一个域名的地址与访问方式(内置证书,DNS,代理等),这是互联网本身所设计的。当然,也可以说 chrome 不是一个内网环境下推荐 /适合的浏览器。
当然说再多也没用,毕竟这个社会 渠道为王 。谁更靠近用户,更有底气乱来。
mooncakejs
2017-12-11 16:34:17 +08:00
@leetom 做不做恶另说,从这件事看来,谷歌不是一个很好的商业合作伙伴。
mooncakejs
2017-12-11 16:41:16 +08:00
@msg7086 操作系统本身就有预载证书,但是他把更好的权限交给了管理员,哪怕是你在 windows 的 hosts 里,把 Microsoft 的域名 IP 改了,它也不会来个 preload。
当然最近在安全形式下,苹果谷歌的系统都越来越封闭,以至于手机的拥有者,都不能修改手机的选项了,我的理解是开互联网倒车。
但是作为给最终用户的终端,为了安全也能理解。
只是 chrome 是 w3c 标准的先行者,也是个开发网页的常用工具,也这么搞(甚至没有关闭选项) ,有点难以理解。
Moker
2017-12-11 16:41:29 +08:00
@killerv 突然强制升级了....dev 全挂了
msg7086
2017-12-11 16:53:23 +08:00
@mooncakejs 系统内置有个很大的问题,更新不及时。比如谷歌 9 月份要植入新买的域名到 Preload,那到什么时候才会植入系统呢?更不说 Win 7 8 8.1 用户已经永远失去更新能力了。
其次,比如 Linux,刚开始是没有浏览器的,你要装第一个,那第一个浏览器从系统 Repo 中安装的时候,是通过 GPG 校验确保安全的。GPG 校验、应用程序签名校验、根 CA,这些是可以由操作系统内置的,因为他们三五年,或者发行新版本时才会改变。而 HSTS 时常会有新域名加入,靠操作系统的更新是跟不上变化的。所以才有现在这样的链式认证,操作系统认证浏览器的合法性,而浏览器认证网站的合法性。Windows 下的话,也应该是 Edge 内置而不是 Windows 10 内置才对。

至于域名所有者和内网的权益冲突,这就见仁见智了。毕竟通用浏览器是服务于公网的,不可能为内网定制,而公网上被保留的域名后缀就那么几个(应该就 .test .invalid 之类的吧),剩下的都不应该随便使用(不是不允许,而是后果自负)。我前面去搜了一下别人的看法,一般都是推荐购买一个便宜的域名然后放在内网用,而不是劫持不存在的域名。也有人在推 .localhost 后缀 RFC 草案,把整个后缀都自动路由给回环网络。另外还有一些推荐用 .internal,虽然也是不存在的域名,但是至少不会被人随便买掉。

总之这个行为本来就不符合标准,不符合标准的行为就只能后果自负。我司现在内网用的是 公司名.int ,万一以后真有人注册了这域名,那我们也真的就只能再换了。
killerv
2017-12-11 17:06:02 +08:00
@Moker 我也是,现在已经修改成.local 了……
yxn1910
2017-12-11 17:32:19 +08:00
推荐一个顶级域名:.run
今天把环境里的.dev 全部改成这个了。
wwqgtxx
2017-12-11 19:27:04 +08:00
@mooncakejs 说到底 google 开发 chrome 本来就是为了让你更好的用 google 提供的网页服务,至于你说的内网需求,这可能根本不在人家开发者考虑的范围之列
另外一个 preload 流氓的问题,那么 firefox 自己集成一套根证书而不用操作系统自带的根证书是不是也是耍流氓?
HowardMei
2017-12-11 19:34:41 +08:00
也是醉了,我也得去改。。。
sensui7
2017-12-11 19:37:51 +08:00
mooncakejs
2017-12-11 19:38:04 +08:00
@wwqgtxx 你说得对,谷歌压根不在乎这些需求。我只是认为互联网越来越不开放。
azh7138m
2017-12-11 19:48:01 +08:00
@leetom 劫持全国解析到 XX 门大家这么快就忘记了嘛?

开玩笑,郭嘉尚且如此,何况一个逐利的公司,这么比较毫无意义。
preload list 意义深远且公开,和那些脏事破事没关系。
codehz
2017-12-11 20:06:04 +08:00
@mooncakejs 讲道理的话,标准不就是流氓们互相协商出来的吗。。。hsts preload 只是没成文标准而已,但是各大流氓已经遵守了(大家都有 preload,只是激进程度不一样),那就是事实标准
ysc3839
2017-12-11 20:45:58 +08:00
浏览器标准不代表就是坏的。看看
ysc3839
2017-12-11 20:47:35 +08:00
@ysc3839 不小心点到发送了。
看看以前 IE 才有的 XHR,现在变成了通用的标准。
而且并不是没有开源的浏览器,不喜欢这个标准可以自己改代码去掉。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/413661

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX