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

部署在IIS子目录时Axios API端点404问题求助

解决IIS部署Node.js/React应用时API 404错误的方案

1. 检查后端服务的运行与访问配置

  • 如果你的Node.js后端是单独运行(未通过IIS托管):

    • 确保后端服务监听地址为0.0.0.0而非仅localhost,否则前端或IIS无法访问。修改后端启动代码:
      app.listen(8080, '0.0.0.0', () => {
        console.log('Server running on port 8080');
      });
      
    • 直接验证后端API:在服务器浏览器中访问http://localhost:8080/Test/user/login,若仍返回404,说明后端路由配置错误——检查后端是否存在/Test/user/login的路由规则,或者是否应该去掉Test前缀(如果后端未配置子目录)。
  • 如果后端是通过IIS托管(比如用iisnode):

    • 确保web.config配置了正确的路由重写规则,让API请求转发到Node.js入口文件。示例片段:
      <rewrite>
        <rules>
          <!-- 转发API请求到node.js -->
          <rule name="API Routes" stopProcessing="true">
            <match url="^Test/user/(.*)$" />
            <action type="Rewrite" url="server.js/{R:1}" />
          </rule>
          <!-- 处理React路由重写 -->
          <rule name="React Routes" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
              <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="index.html" />
          </rule>
        </rules>
      </rewrite>
      

2. 修正API端点路径

  • 检查ENDPOINT是否匹配后端路由:如果后端未配置Test子目录,直接用http://localhost:8080即可,否则请求路径会变成http://localhost:8080/Test/user/login,若后端路由是/user/login就会触发404。
  • 避免路径拼接错误:如果ENDPOINT末尾没有斜杠,post("user/login")会拼成http://localhost:8080/Testuser/login,可以改成post("/user/login")(开头加斜杠),或者给ENDPOINT末尾加斜杠:
    export const ENDPOINT = "http://localhost:8080/Test/";
    

3. 配置IIS的CORS与请求权限

  • 允许跨域请求:如果前端和后端域名/端口不同,在IIS中安装CORS模块后,在web.config添加配置:
    <system.webServer>
      <cors enabled="true">
        <add origin="*" allowCredentials="true" />
      </cors>
    </system.webServer>
    
  • 检查POST请求权限:确保IIS站点的请求筛选中未禁用POST方法。

4. 验证IIS子目录配置

  • 确保Test是IIS的应用程序而非普通文件夹:在IIS管理器中右键Test目录,选择“转换为应用程序”,关联正确的应用程序池(托管Node.js时,应用程序池需设置为“无托管代码”)。

内容的提问来源于stack exchange,提问作者Hecker Creatives

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:20:27