You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置iisnode部署Next.js应用后访问显示server.js代码问题求助

解决iisnode部署Next.js后显示server.js代码的问题

核心问题分析

页面直接返回server.js代码,说明IIS没有将请求转发给iisnode模块处理,而是把server.js当作静态文本文件返回了。以下是针对性的修复步骤:

1. 修正配置文件名

你的配置文件命名为web.configb,IIS仅识别web.config作为配置文件,立即将文件名改为web.config。

2. 修复web.config中的错误配置

修改后的web.config内容如下,主要修复了请求方法匹配的转义问题,并补充了静态文件的跳过规则:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <!-- 跳过Next.js静态资源,直接返回,避免重写到server.js -->
        <rule name="Skip Static Files" stopProcessing="true">
          <match url="^/_next/|^static/|^favicon.ico$" />
          <action type="None" />
        </rule>
        <!-- 所有其他请求转发给server.js处理 -->
        <rule name="myapp">
          <match url=".*" />
          <action type="Rewrite" url="server.js" />
        </rule>
      </rules>
    </rewrite>
    <iisnode nodeProcessCommandLine="C:\Program Files\nodejs\node.exe" />
  </system.webServer>
  <location path="" overrideMode="Deny">
    <system.webServer>
      <handlers>
        <!-- 修正verb的转义符,将"\*"改为"*" -->
        <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
      </handlers>
    </system.webServer>
  </location>
</configuration>

3. 验证iisnode模块状态

  • 打开IIS管理器,确认服务器级别已安装并启用iisnode模块
  • 检查站点的模块列表,确保iisnode存在且启用

4. 确认Next.js应用的依赖与构建状态

  • 确保已在项目根目录执行npm install安装所有依赖
  • 生产环境下需执行npm run build生成静态资源,再部署到IIS

内容的提问来源于stack exchange,提问作者Rafael Drigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 20:26:14