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

如何为IIS中的非ASP.NET可执行文件(Rust API)创建web.config?

Rust API部署IIS问题解决方案

核心问题

你用的是ASP.NET Core专属的AspNetCoreModuleV2配置,但Rust API是独立HTTP服务,和.NET生态无关,IIS无法识别该配置,这才导致500.19错误;无web.config时IIS找不到默认文档且禁用目录列表,触发403.14错误。


推荐方案:反向代理托管(性能最优)

Rust API本身是独立HTTP服务器,让IIS做反向代理转发请求是最佳选择,步骤如下:

1. 安装IIS必备组件

打开「控制面板」→「程序」→「启用或关闭Windows功能」,勾选以下项:

  • Internet信息服务 → Web管理工具 → IIS管理控制台
  • Internet信息服务 → World Wide Web服务 → 常见HTTP功能 → 静态内容、代理功能
  • Internet信息服务 → World Wide Web服务 → 应用程序开发功能 → URL重写模块
  • Internet信息服务 → World Wide Web服务 → 性能功能 → 动态内容压缩

注:若看不到「代理功能」,需单独安装Application Request Routing (ARR)

2. 替换web.config为反向代理配置

将原有web.config替换为以下内容,注意把http://localhost:8080改成你的Rust API实际监听地址:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="ForwardToRustAPI" stopProcessing="true">
          <match url="(.*)" />
          <action type="Rewrite" url="http://localhost:8080/{R:1}" />
        </rule>
      </rules>
    </rewrite>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Powered-By" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

3. 配置IIS站点与应用池

  • 打开IIS管理器,新建站点:物理路径指向Rust程序所在文件夹,绑定端口/主机名按需设置
  • 应用程序池设置:选择「无托管代码」,身份设为LocalSystem或有程序文件夹访问权限的账户

4. 启动服务

先启动你的Rust API(确保监听地址和web.config一致),再启动IIS站点,此时所有请求会被IIS转发给Rust服务。


备选方案:CGI托管(低流量场景适用)

若不想用反向代理,可通过CGI方式让IIS直接调用Rust程序,步骤如下:

1. 确保已安装CGI组件

在「启用或关闭Windows功能」里勾选「Internet信息服务 → World Wide Web服务 → 应用程序开发功能 → CGI」

2. 编写CGI版web.config

替换C:\path\to\your\MyApp.exe为Rust程序的绝对路径:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="RustCGI" path="*" verb="*" modules="CgiModule" scriptProcessor="C:\path\to\your\MyApp.exe" resourceType="Unspecified" requireAccess="Script" />
    </handlers>
    <cgi>
      <environmentVariables>
        <add name="PORT" value="80" />
      </environmentVariables>
    </cgi>
  </system.webServer>
</configuration>

注:CGI模式下IIS会为每个请求启动一次Rust程序,性能较差,仅适合低流量场景


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 18:23:11