amazon-web-services - 是什么导致 AWS 中国托管站点中的 ERR_SSL_PROTOCOL_ERROR?
问题描述
我有一个托管在 AWS 中国 ( https://app.bsdeducation.cn ) 的站点,该站点定期遇到 SSL 错误,特别是 ERR_SSL_PROTOCOL_ERROR。当前端应用程序向各种后端服务发出 HTTPS 请求时,就会发生这种情况。前端证书是使用 Let's Encrypt 创建的,前端是通过 CloudFront 提供的。后端服务(例如 Elastic Beanstalk 或 API Gateway)使用不同的子域(例如 api-r79.bsdeducation.cn)并使用通过 Amazon Certificate Manager 创建的不同证书。
这不是浏览器或机器特定的问题,可以通过清除浏览器缓存、修复日期和时间、禁用 QUIC 协议或更改防病毒设置来解决。
关于这个问题的一些观察:
- 它是间歇性的,即几个小时可能没有问题
- 刷新页面可以帮助解决该问题
- 已针对中国大陆境内的用户以及中国境外的用户进行了观察
- 使用 VPN 进入中国的非中国用户访问该站点仍然存在问题
- 它同时发生在班上的大多数学生身上,即它不是孤立于特定机器的一致问题
- 当问题出现在某人的机器上时,不影响其他HTTPS站点,甚至其他中文站点
不幸的是,AWS 中国 CloudFront 尚不支持 Certificate Manager 证书,因此我无法测试将相同证书用于前端/后端时会发生什么。无论如何,我不明白为什么前端证书应该对后端服务的请求有任何影响。
单独测试证书我认为它们没有问题。
有没有人对可能导致此问题的原因有任何见解?这会不会是中国的长城防火墙造成的?我们拥有 ICP 许可证,我们的服务均已在 ICP Recordal 注册。
谢谢你。
解决方案
推荐阅读
- java - ArrayList.removeAll(Collection<>) 是否关心重复项?
- r - R:如何在测试结果和警告时从测试报告中省略测试警告消息
- javascript - appendChild 或 prepend 导致 SELECT 项目重新排序
- r - 为什么 R bootstrap 函数使用索引来计算平均比率?
- java - 如何仅从依赖项 Maven 模块加载资源
- intellij-idea - IntelliJ 文件从搜索中排除,如何取消排除?
- .net - windows 多显示器系统,将 .net 屏幕映射到 DirectX 显示器 #
- f# - 如何从 Avalonia.FuncUI 中的事件中获取点击位置
- angular - 从角度应用程序访问角度库 - 角度组件中的 StaticInjectorError 与构造函数中的 ElementRef
- python - 将 ArgumentParser 移动到单独的文件中