Windows IIS上为Vue 3 + Vite项目配置后端API代理的完整流程

我梳理了在Windows IIS上为Vue 3 + Vite项目配置后端API代理的完整流程。核心思路就是利用IIS的URL重写(URL Rewrite)和应用程序请求路由(ARR)模块,将前端发起的API请求转发到后端服务。

下面是为Vue 3项目在IIS上配置API代理的标准步骤:

⚙️ 第一步:准备必要组件

在IIS中实现代理功能,需要两个关键的扩展模块,缺一不可:

    URL Rewrite(URL重写)

    Application Request Routing (ARR):这个模块让IIS具备了反向代理的能力。

安装与启用说明:

    下载与安装:可以从微软官方或相关技术社区下载这两个模块的安装包。需要特别注意的是,最好先安装URL Rewrite,再安装ARR,因为ARR的安装和运行依赖于它。

    启用代理功能:安装完成后,在IIS管理器中,点击服务器级别的 Application Request Routing Cache,然后在右侧操作面板点击 Server Proxy Settings,勾选 Enable proxy 并点击“应用


第二步:核心配置——编写web.config规则

最推荐、也最便于管理的方式是在你的Vue项目打包后的dist文件夹根目录下,手动创建一个名为web.config的文件,将所有重写规则写入其中,比如
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <!-- 【规则1:代理API请求】-->
                <!-- 假设你的后端API地址是 http://localhost:5000,且前端请求路径以 /api/ 开头 -->
                <rule name="ProxyToBackendAPI" stopProcessing="true">
                    <match url="^api/(.*)" />
                    <action type="Rewrite" url="http://localhost:5000/api/{R:1}" />
                </rule>

                <!-- 【规则2:支持Vue Router的History模式】-->
                <!-- 将所有对不存在的文件或目录的请求,都重写到 /index.html,由前端路由接管 -->
                <rule name="HandleSPARouting" 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>
    </system.webServer>
</configuration>
posted @ 2026-08-31 11:58  桃花雪  阅读(9)  评论(0)    收藏  举报