有没有办法用 HTTPS 加密 Host header?

is there a way to encrypt Host header with HTTPS?

我所在国家/地区的 ISP 出于政治原因屏蔽了我的网站。

第一次,他们封了我的网站IP,所以每次封IP,我都换一个新的IP,这样就可以免封了。

但是现在,他们通过屏蔽主机名来屏蔽我的网站,所以所有 IP 都被屏蔽了。

有没有办法用 HTTPS 加密主机 header?

或任何人有想法避免阻塞

is there a way to encrypt Host header with HTTPS?

使用 HTTPS 时,主机 header 已加密。这意味着他们不能基于此进行阻止。他们可能会使用基于 DNS 的阻止或使用深度数据包检测的基于 SNI 的阻止。

两者通常都不能通过简单地更改您的网站(更改域名除外)来绕过,即客户端支持,如使用不同的 DNS 服务器,需要使用 VPN 或类似的绕过阻止.虽然 ESNI(加密的 SNI)在理论上可能是一个选项,但一些国家如中国 simply block such traffic they can not analyze. There is fantastic research about bypassing censorship in various countries 并且有一些技巧可以在服务器端使用。但细节在很大程度上取决于您的特定情况下阻止的具体工作方式 - 这是未知的。

HTTP 主机 header 在 HTTPS 中加密,但 SSL 证书主机名(服务器名称指示)未加密。所以你必须绕过 SNI-based HTTPS 过滤。

有关详细信息,请参阅此文档Efficiently Bypassing SNI-based HTTPS Filtering

https://blog.cloudflare.com/encrypted-sni/

也许 TLS 1.3 可以帮助加密 SNI