共计 983 个字符,预计需要花费 3 分钟才能阅读完成。
试了一下 Firefox 里面设置 network.dns.echconfig.enabled 并没有效果 抓包看还是明文的 如果是自己用 nodejs 发送 https 请求的话 倒是可以不发送这个 sni 就是不知道浏览器为什么不提供这个选项呢 都不用你加密 client hello 了 你就直接不发这个 sni 拉倒了 |
网友回复:
注册 : 我只想知道,你给住集体宿舍的人写信,却不写收件人的名字,信能送到么?
金关村村长 : 换一种方法可不可以加密 sni 比如 esni
iks: 他的意思应该是不发送明文的 SNI,收件人的名字加密的话信还是能送到的。
kleos: ESNI 已经被废弃了,现在是 ECH。然而不管 ESNI 还是 ECH 似乎都要 DoH/DoT 的配合才能使用。
davidsky2012: 既然不想发送 SNI 说明你不需要这个,你直接 IP 访问不就完事了?庸人自扰
davidsky2012: 你这是在搞笑么?这么做的话服务器返回的域名证书过不了浏览器的验证,并不是所有网站都有 IP 证书的。
HOH: 那你用 ip 访问 github 吧 … 看 GitHub 让不让你访问 全是重定向
davidsky2012: 没这种需求. 我又不访问那些空间站.
金关村村长 : 你自己说不要发送 SNI 的,现在你又说什么不让访问,连提个问题都不会我建议你还是不要问了
注册 : 我估计他都没懂我们在说什么 ….
注册 : 然后反过来说你不会提问~
金关村村长 : 我的意见是,浏览器会服务于访问那些空间站的用户,所以不会有不发送 SNI 的功能
davidsky2012: TLS 建立成功后在 HTTP 应用层发送 Host 么?Google 等主流网站不支持这样请求,Cloudflare 直接拒绝没有 SNI 的握手请求
iks: 所以这是一个选项啊 …. 用户自己开关不就完事了 浏览器负责提供开关 我负责把它给关了
iks: 反正还是那句话,SNI 机制是 TLS 为了复用而做的改进,不能开倒车。需要无 SNI 的浏览器建议使用 Microsoft Internet Explorer 6.0
金关村村长 : ESNI 和 ECH 是支持的,Host 字段也是域名,完全可以正常访问。不过是否部署 ECH 取决于网站本身。但 Cloudflare 明确表示支持 ECH 的,不存在被 Cloudflare 拒绝的情况。如果是 IP 访问,Host 字段会变成 IP,取决于服务器的处理方式,部分网站可以访问,部分不行。不过这样就不是加密 SNI 了,也就不是我刚才说的情况了。