Windows IIS with Next js App Internal Server Error 500

Windows IIS with Next js App Internal Server Error 500

我正在尝试使用 Plesk 面板和 Windows IIS 在 VPS Windows 10 上部署我的 Next.js 应用程序。

问题是我从 Plesk 面板创建了域名并且它工作正常。我在端口 3000 上有 Next.js 应用程序的本地主机 我正在尝试使用 IIS 重写反向代理

连接到域的 localhost:3000

IIS 重写反向代理:

但它给我内部服务器错误 500:

我在 React.js 和 Next.js 以及 Next.js 上使用 Express 自定义服务器进行了尝试。还是一样的错误。

但是当我尝试使用 Vue.js 或 Node.js express 服务器时,它工作得很好。

当我像这样打开端口时 domain.com:3000 它也适用于 react 和 next。

我能做什么?

搜索了一段时间后,我发现解决方案问题是 iis 无法使用 Url 如果您使用 gzip 重写代理,并且 Next.js 提供 gzip 压缩来压缩呈现的内容和静态文件,所以要修复此错误,您需要关闭 gzip 或在 iis 上启用 gzip。

如果你想在下一个 js 上禁用 gzip,请按照此操作 https://nextjs.org/docs/api-reference/next.config.js/compression

如果你想使用 gzip 在 iis 上启用 gzip 这将帮助你使用 gzip

https://techcommunity.microsoft.com/t5/iis-support-blog/iis-acting-as-reverse-proxy-where-the-problems-start/ba-p/846259

在这里我找到了解决方案: https://docs.microsoft.com/en-us/archive/blogs/friis/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52-status-codes