node.js - Windows IIS 与 Next js 应用程序内部服务器错误 500

标签 node.js reactjs iis next.js plesk

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

问题是我从 Plesk 面板创建了域名,它工作正常。我在端口 3000 上有 Next.js 应用程序的 localhost 我正在尝试使用 IIS 重写反向代理通过域连接到 localhost:3000

IIS重写反向代理:

enter image description here

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

enter image description here

我在 React.js 和 Next.js 以及带有 Express 自定义服务器的 Next.js 上尝试过此操作。还是同样的错误。

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

当我打开像 domain.com:3000 这样的端口时,它也可以与 React 和 next 一起使用。

我能做什么?

最佳答案

经过一段时间的搜索,我发现解决方案的问题是,如果您使用 gzip,iis 无法使用 Url Rewrite 代理,并且 Next.js 提供 gzip 压缩来压缩渲染的内容和静态文件,因此要修复此错误,您需要将在 iis 上关闭 gzip 或启用 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://learn.microsoft.com/en-us/archive/blogs/friis/iis-with-url-rewrite-as-a-reverse-proxy-part-2-dealing-with-500-52-status-codes

关于node.js - Windows IIS 与 Next js 应用程序内部服务器错误 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68801321/

相关文章:

node.js - Sequelize - 如果与另一个模型存在关系,我如何 "select"模型的实例

javascript - React useState 钩子(Hook)不更新状态

javascript - 未捕获的 TypeError : . 包含不是 React Ref 的函数

reactjs - 跟踪 : The node type SpreadProperty has been renamed to SpreadElement at Object. isSpreadProperty

windows - 如何从证书和私钥创建 .pfx 文件?

node.js - 使用express-validator进行快速验证错误

javascript - 当文件内容发生变化时,使用node.js将更新的内容发送给用户

node.js - Angular2 快速入门精简版服务器崩溃

iis - 比较两台服务器的 IIS 设置的最快方法是什么?

powershell - 列出重定向目标 (URL) IIS 站点