Lighthouse 不再使用网站 - 错误 404

RRM*_*000 8 amazon-web-services lighthouse

我有一个使用 SSL 托管在 AWS(使用 CloudFront 的 S3)上的网站。当我通过 Chrome 执行 Lighthouse 测试时,该测试在除主页之外的任何页面上都不起作用。它针对除性能以外的所有测试返回问号,并返回以下错误:

存在影响 Lighthouse 运行的问题:Lighthouse 无法可靠地加载您请求的页面。确保您正在测试正确的 URL 并且服务器正确响应所有请求。状态码:404。”

这是一个 ReactJS SPA 网站,Lighthouse 确实通过调试工作,但是当我尝试 URL 中的 S3 或 cloudfront 域或我购买的实际域时,它不起作用。它是否曾经工作过我不是 100% 确定,因为我可能只在主页上尝试过它并假设它适用于所有页面。

任何人都可以建议我可以尝试的任何明显的东西(解决或给我更多分析)?我对 AWS 和 React 还很陌生。除此之外,该网站似乎运行良好。

非常感谢 :)

RRM*_*000 5

最终整理了这个。这是 AWS S3 和 CloudFront 处理错误方式的问题。由于托管在 AWS 上的 React 网站不会链接到存储桶中保存的实际文件(例如 www.example.com/testpage,它会尝试路由到 testpage),因此会出错。现在,您可以在存储桶中设置一个指向 index.html 页面的 Error 文档,因此如果它确实出错,它将重新路由,然后 react 将路由到实际页面。所以,我已经设置了这个,但它仍然失败。我发现您还可以在 CloudFront 中设置错误文档,通过添加它,Lighthouse(和 Google Search Console)终于开始工作(通过 CloudFront 并使用我的实际域)。但是,它不能通过 S3 存储桶域工作。不知道为什么不,但这对我来说并不重要,因为它可以正确路由到我想要的位置。