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

Windows 11下如何将外部HTTP API请求重定向至localhost端口?

解决本地IP访问VS调试API的400错误问题

问题根源

Visual Studio调试时使用的Web服务器(IIS Express或ASP.NET Core内置服务器)默认仅绑定localhost,不监听本地IP地址。当请求使用本地IP访问时,服务器无法识别请求的Host头,因此返回400错误。

方案一:修改项目配置,让API直接监听本地IP

适用于ASP.NET Framework(IIS Express)项目

  • 打开项目根目录下的隐藏文件夹.vs\config\applicationhost.config
  • 找到对应项目的<site>节点,在<bindings>节点中添加一条新绑定:
    <binding protocol="http" bindingInformation="*:12345:192.168.1.100" />
    
    替换12345为调试时的实际端口,192.168.1.100为你的电脑本地IP
  • 保存文件后重启Visual Studio并重新启动调试,此时API会同时监听localhost和指定IP,直接用http://你的本地IP:端口即可访问

适用于ASP.NET Core项目

  • 打开项目根目录下的Properties/launchSettings.json
  • 找到调试配置节点(如IIS Express或项目名称),修改applicationUrl字段,添加本地IP的监听地址:
    "applicationUrl": "http://localhost:12345;http://192.168.1.100:12345"
    
  • 保存文件后重启调试,API将同时监听localhost和指定IP,移动设备在同一局域网内可直接调用

方案二:用IIS的ARR+URL Rewrite实现反向代理转发

  1. 确认已在IIS中安装Application Request Routing和URL Rewrite模块(可通过IIS管理器的“模块”列表验证)
  2. 打开IIS管理器,新建网站:绑定协议选http,IP选择你的本地IP,端口填要对外暴露的端口(如12345),主机名留空
  3. 进入该网站的“URL Rewrite”功能,点击“添加规则”,选择“反向代理”
  4. 在目标地址中输入localhost:12345,勾选“启用SSL Offloading”(HTTP请求可忽略此选项),点击确定
  5. 完成配置后,访问http://你的本地IP:12345会自动转发到http://localhost:12345,移动设备可正常调用

补充说明

之前遇到的IIS默认网站加端口后报“HTTP Error 400. The request hostname is invalid.”,是因为网站绑定的主机名与请求的Host头不匹配。只需将网站绑定的主机名留空,IP设为“全部未分配”或你的本地IP,即可解决该问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:02:48