|
昨天下午,为什网页同事老周在办公室急得直转圈。为什网页他刚把一份合同报价发到客户微信上,为什网页对方却回了一句:“你发的为什网页链接怎么点不开?显示什么‘不安全’。”老周用的为什网页是公司内网服务器搭的临时页面,地址栏明晃晃写着http://开头。为什网页他问我:“这破网怎么又抽风了?为什网页”我瞄了一眼,跟他说:“别怪网,为什网页怪你没穿‘防弹衣’。为什网页” 这事得从HTTP的为什网页出身说起。它诞生于上世纪90年代初,为什网页当时互联网就是为什网页个学术圈的大玩具,大家传个论文、为什网页发个邮件,为什网页没人想着要防黑客。为什网页HTTP协议把所有数据——包括你输入的密码、银行卡号——都当成明信片一样在网络上裸奔。邮递员(路由器)中途拆开看一眼,内容全暴露了。可那时候网络干净得像实验室,谁也没想到后来会变成闹市。 现在呢?你随便连个咖啡店的免费WiFi,旁边坐个戴鸭舌帽的年轻人,用个抓包工具就能把你刚发的HTTP请求里的登录口令截走。这哪是上网,这是把自己家钥匙挂在门口。所以到了2017年,谷歌Chrome浏览器做了个硬决定:所有HTTP页面,地址栏直接标红,写上“不安全”。苹果Safari跟着学,火狐也跟进。浏览器厂商们像约好了似的,把HTTP页面当成了过街老鼠。 但“打不开”跟“不安全”是两码事。真正让页面打不开的,往往是另一个细节——HSTS(强制安全传输)策略。有些网站,比如银行、电商平台,早几年就升级成了HTTPS,并且给浏览器下了死命令:以后只准用加密通道访问我。这个指令被浏览器记在小本本上,有效期可能是一年甚至更久。你要是手动把网址改成http://再敲回车,浏览器一看:“嘿,这网站我认识,它说过不许走HTTP。”于是直接拦下,连请求都不发出去。屏幕上的报错五花八门,什么“无法访问此网站”“连接已重置”,但根子就是这个。 还有一种情况更隐蔽,纯属自己坑自己。有些老旧的内部系统,或者个人爱好者搭的NAS、路由器管理后台,默认就是HTTP。这些设备往往IP地址是192.168开头的内网地址,浏览器虽然会警告“不安全”,但通常还能强忍着打开。可如果你在公共网络环境下,或者公司防火墙策略比较严,网络管理员可能直接封了80端口(HTTP默认端口)。这时候你访问HTTP网站,就像拿钥匙开一扇已经被焊死的门——门本身没问题,但管理方不让你进。 我自己的经历挺典型。去年帮家里老人弄一个老式监控摄像头,厂商给的说明书上印着IP地址,让我用浏览器登录设置。我输进去,Chrome直接给了一整页红色警告,说“您的连接不是私密连接”。我点“高级”,再点“继续前往”,页面才慢吞吞弹出来。可过了半个月,摄像头固件自动更新了一次,再访问就彻底打不开了。打电话问客服,对方说:“我们升级了安全策略,老地址失效了,您得下载新客户端。”你看,HTTP页面不是被技术淘汰的,是被整个行业的信任机制给抛弃的。 说到底,你现在打不开一个HTTP网页,大概率不是网络断了,也不是服务器挂了,而是整个互联网世界在集体拒绝一个没穿衣服的裸奔者。浏览器厂商、网站管理员、甚至你手机里的安全软件,都在用各自的方式说:“这玩意儿太危险,别碰。”你要是真想打开那个页面,不是去改浏览器设置,而是该去催网站管理员赶紧部署HTTPS证书。花不了几个钱,Let's Encrypt还提供免费版,五分钟装完,一劳永逸。 老周后来怎么解决的?我帮他在服务器上装了个免费的SSL证书,把网址从http://换成了https://,前后花了不到十分钟。他再发链接给客户,对方点开,地址栏挂着一把小绿锁,顺顺利利。老周感叹:“原来不是网破,是我太土。”我笑了笑,没告诉他其实还有更土的人——至今还在用HTTP传合同,以为加个密码压缩包就安全了。 |