Amazon web services CloudFront报告apple应用程序站点关联(深度链接)的5xx错误,即使源服务器返回HTTP 200

Amazon web services CloudFront报告apple应用程序站点关联(深度链接)的5xx错误,即使源服务器返回HTTP 200,amazon-web-services,amazon-elastic-beanstalk,amazon-cloudfront,deep-linking,aws-application-load-balancer,Amazon Web Services,Amazon Elastic Beanstalk,Amazon Cloudfront,Deep Linking,Aws Application Load Balancer,当我们使用classic负载平衡器在64位Amazon Linux/3.3.8上运行Java 8的已退役的Tomcat 8上运行时,我们从未看到HTTP 5xx错误 该平台已经退役,因此我们创建了一个新环境“Tomcat 8.5,在64位Amazon Linux 2/4.1.3上运行Corretto11”,在此过渡期间,我们从AWS经典负载平衡器迁移到了较新的应用程序负载平衡器 从那以后,一切都很顺利,只有两个例外 1-任何引用myapp.com//rest/something的URL都失败了(

当我们使用classic负载平衡器在64位Amazon Linux/3.3.8上运行Java 8的已退役的Tomcat 8上运行时,我们从未看到HTTP 5xx错误

该平台已经退役,因此我们创建了一个新环境“Tomcat 8.5,在64位Amazon Linux 2/4.1.3上运行Corretto11”,在此过渡期间,我们从AWS经典负载平衡器迁移到了较新的应用程序负载平衡器

从那以后,一切都很顺利,只有两个例外

1-任何引用myapp.com//rest/something的URL都失败了(需要删除双斜杠,我不知道为什么这会突然成为一个问题-但通过简单的代码调整解决了这个问题,只影响了我们的UAT测试)

2-我注意到CloudFront门户中显示了大量HTTP 5xx错误。这就是我在这个问题上所关注的


您会注意到,目前也有2xx响应问题似乎与*.mycompany.com的SSL证书通配符有关,但通配符不包括通过mycompany.com(直接访问apex)访问站点

我怀疑我需要编辑或创建一个新的ACM配置证书,该证书明确列出mycompany.com和*.mycompany.com-我正在等待AWS的确认

看起来苹果一定是在从我们的服务器请求文件时没有使用www前缀,但是一旦失败,它可能会使用www前缀重试,我想这可以解释为什么我看到几乎50%的失败(第一次失败,重试工作=50%成功)


更新:我可以确认,自从将顶级apex(mycompany.com)添加到SSL证书之后,除了通配符域(*.mycompany.com)之外错误不再出现。

目前,问题似乎与*.mycompany.com的SSL证书通配符有关,但通配符不包括通过mycompany.com(直接访问apex)访问站点

我怀疑我需要编辑或创建一个新的ACM配置证书,该证书明确列出mycompany.com和*.mycompany.com-我正在等待AWS的确认

看起来苹果一定是在从我们的服务器请求文件时没有使用www前缀,但是一旦失败,它可能会使用www前缀重试,我想这可以解释为什么我看到几乎50%的失败(第一次失败,重试工作=50%成功)

更新:我可以确认,自从将顶级apex(mycompany.com)添加到SSL证书之后,除了通配符域(*.mycompany.com)之外,再也看不到错误