在 IIS 中将 Nextjs 应用程序托管为网站下的子应用程序

Hosting Nextjs app in IIS as sub Application under Website

提问人:user22391917 提问时间:10/25/2023 更新时间:10/25/2023 访问量:41

问:

我正在尝试将我的nextJs应用程序部署到IIS。我一直在测试和尝试部署方法,但我似乎从未将问题抛在脑后。问题是页面加载了,但是我遇到了一些错误,控制台说 “GET {website_url} 404 未找到”

我已经部署了 2 个单独的实例,一个是独立网站,一个是网站下的子应用程序。我单独分配的是“next-web-order”,它工作得很好。但是,在 ClubApp 下托管的项目有一个 ASP.Net 项目,并且没有像应有的那样加载。我猜我的配置存在一些问题,因为构建文件是相同的。这是我的 Nextjs 项目的 web.config。

<configuration>
  <system.webServer>    
    <rewrite>
      <rules>
        <rule name="myapp">
          <match url="/*" />
          <action type="Rewrite" url="server.js" />
        </rule>
      </rules>
    </rewrite>

    <iisnode node_env="production" nodeProcessCommandLine="&quot;C:\Program Files\nodejs\node.exe&quot;" interceptor="&quot;%programfiles%\iisnode\interceptor.js&quot;" />

  </system.webServer>
    <location path="" overrideMode="Deny">
        <system.webServer>
    <handlers>
      <add name="iisnode" path="server.js" verb="*" modules="iisnode" />
    </handlers>
        </system.webServer>
    </location>
  <appSettings>
    <add key="API_URL" value="http://localhost:64051/json/Default.aspx" />
    <add key="API_FOOD_URL" value="http://localhost:64051/json/food_menu.aspx" />
    <add key="NEXT_PUBLIC_API_CORS_URL" value="http://localhost:3001/json/Default.aspx" />
    <add key="NEXT_PUBLIC_API_FOOD_CORS_URL" value="http://localhost:3001/json/food_menu.aspx" />
    <add key="NEXT_PUBLIC_API_URL" value="http://localhost:64051/json/Default.aspx" />
    <add key="NEXT_PUBLIC_API_FOOD_URL" value="http://localhost:64051/json/food_menu.aspx" />
  </appSettings>
</configuration>

IIS 连接

reactjs asp.net IIS .js next.js13

评论

0赞 Lex Li 10/25/2023
像所有其他人一样,向开发人员寻求指导,github.com/vercel/next.js/issues?q=is:issue+iis 这是 Stack Overflow 的好问题。
0赞 samwu 10/25/2023
您需要更多信息来分析您的问题,请尝试使用失败的请求跟踪来查看有关 404 错误的详细信息,这将生成详细的日志文件,这将帮助您识别问题。

答: 暂无答案