1

我在 AWS Amplify 上部署了 Next.js 服务器端渲染应用程序。我是 AWS 新手,不知道我遇到此错误的确切原因。我已经阅读了很多文章和文档,但我无法解决这个问题。

getServerSideProps用来从 API 等获取参数和道具。在 Vercel 和 Netlify 上,我的应用程序运行良好,但在 Amplify AWS 上出现错误。

我的应用正在加载静态页面,但在动态页面上出现错误。例如www.example.com/test-1

test-1是一条动态路线"/:id"

我得到的错误:

503 错误 无法满足请求。与 CloudFront 分配关联的 Lambda 函数无效或没有所需的权限。我们目前无法连接到此应用或网站的服务器。可能有太多流量或配置错误。请稍后再试,或联系应用或网站所有者。如果您通过 CloudFront 向客户提供内容,您可以通过查看 CloudFront 文档找到解决问题并帮助防止此错误的步骤。

我知道这个错误是专门针对权限的,但我不知道如何配置它们。

4

3 回答 3

3

问题在于我的 Lambda 函数,它们是为我的应用程序定义的,其中一些无法识别修复它们,并且向用户授予权限是唯一的解决方案。

于 2021-10-10T06:10:23.897 回答
1

很可能您的 lambda 函数可能存在权限问题或其他问题。另外,正如有人提到的,尝试做amplify init.

于 2021-10-11T10:03:14.880 回答
1

首先,请检查您使用的 Next.js 的版本,因为 AWS Amplify 正式支持版本 11。此外,Next.js 11 默认使用 webpack5,Amplify 也不支持。所以,你可以做一些事情来解决这个问题(就像我做的那样) -

  1. 使用 Next.js 到 v11.1.3 和

  2. next.config.js设置webpack5为假 -

    
      //next.config.js
    
      const nextConfig = {
        ...
        ...
        webpack5: false,
        ...
        ...
      }
    
      module.exports = nextConfig
    
于 2022-02-09T17:59:24.807 回答