问题
直到大约一周前,我的客户网站在一个子域(app.xxx.com)上工作正常,我们从现在到那时都没有推送任何重要内容,但现在在Windows上的Chrome(117.0.5938.132)上,它开始返回此错误:
This site can't be reached
The website at XXX might be temporarily down or it may have been moved permanently to a new web address.
ERR_ECH_FALLBACK_CERTIFICATE_INVALID
看起来工作得很好。证书由LetsEncrypt颁发。
测试
然后我在MacOS和Linux上的最新Chrome上测试了这个功能,它们都运行得很好。我还在其他浏览器上测试了这个功能,比如Firefox和Safari,它们也运行得很好。我还发布了一个新的LetsEncrypt证书,但这没有什么区别。
代码库、服务器环境和其他奇怪之处
有时网站会解决一两分钟,然后停止工作?我们在另一个子域(www.example.com)上有一个应用程序的暂存版本staging.xxx.com,它可以正常工作。我们在同一台服务器上使用Docker容器,所以它们应该是相同的环境。两者之间的代码差异是相当小的,不应该影响这一点,我会想?
帮帮忙
我已经把这个推到我们的网络托管公司尝试和解决,但我想我也应该把它发布出来,看看别人是否有任何经验,这或解决它的方法,因为没有太多有用的(至少对我来说)信息,我已经找到了。现在我告诉我们的客户使用另一个浏览器,但这不是一个长期的解决方案,任何人都满意。
有没有人知道更多关于这个问题或如何解决它?
- 编辑-发现问题 *
好了,现在我可以确认它与Encrypted Client Hello
(ECH)有关,也称为Secure SNI
:https://www.ghacks.net/2022/11/25/google-chrome-canary-gets-experimental-encrypted-client-hello-ech-support/
如果我在Chrome Linux中打开这个标志(Chrome://flags/#restarted-client-hello -然后重新启动浏览器),它现在会抛出这个错误。
在Windows中显式关闭它,网站就可以工作了--所以这就是问题所在。
有关在Cloudflare中实施ECH及其工作原理的更多信息:https://blog.cloudflare.com/announcing-encrypted-client-hello/
如何解决这个问题可能取决于处理您的网站ECH的人(例如:Cloudflare)-但如果有人有任何其他有用的信息,请务必发布。
1条答案
按热度按时间eeq64g8w1#
我找到了一个更好的解决方案,我认为我的情况(和其他CF免费计划)。
如果你不是一个免费的计划-你可以禁用ECH中指出的问题。
否则,您可以尝试在Cloudflare设置中禁用TLS 1.3。
对我来说,问题如下:
从长远来看,我可能需要找出一个更好的解决方案(也许让我的服务器支持ECH?),但现在:
禁用TLS 1.3似乎是一个可行的解决方案-至少对我来说是这样。