500内部服务器错误,在nginx上托管nextjs时出现动态页面

zbsbpyhn  于 2023-01-12  发布在  Nginx
关注(0)|答案(2)|浏览(409)

我有一个Nextjs应用程序,在所有域上都运行良好,但我也有一个域,我使用动态页面的运动鞋产品页面。kickz.rendives.nl/products仍然工作,但当我点击一个产品时,我得到500内部服务器错误。我认为这是因为动态生成的页面,我在nginx主机,但我不知道为什么它不工作。本地它工作得很好。让我知道,如果需要更多的信息!
我已经试过做https://geops.com/en/blog/next-nginx-routes并在我的nginx配置文件(kickz.rendives.nl)中用include /home/pi/PROJECT_NAME/next-routes.conf设置创建的文件,但也不起作用。我得到了同样的500内部服务器错误。
也许Nginx必须配置为处理动态页面,但我甚至不确定。帮助是感谢!
更新:我发现问题不在nginx,我试着用一个给定的数组生成页面,效果很好,我想问题在于我制作页面的方式(从我的mariadb数据库中提取数据)。这是我的代码,我正在调试:

<h2 className="sneaker-sku ">Sku: {sizes[0]?.sku}</h2>

这是触发错误的代码段。

roqulrg3

roqulrg31#

我不知道nginx,但我以前遇到过这个问题
如果你的网站是静态的并且你正尝试从你的下一个API中用getStaticProps或gerServerSideProps获取数据,这将导致一个错误.如果是这种情况你将需要直接使用getstarticProps和getStaticPath函数获取数据

p4tfgftt

p4tfgftt2#

问题出在一行代码上:

<h2 className="sneaker-sku ">Sku: {sizes[0]?.sku}</h2>

这触发了错误,我认为问题是与nginx,因为事实上它在本地工作。我只是调试它,它给了我错误

TypeError: Cannot read properties of undefined (reading 'sku')

问题是我的数据库中的一个错误1产品有一个错误的产品名称,(它没有正确保存产品名称,所以2产品名称不匹配,导致没有返回行)

相关问题