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

如何在IIS部署asp.net core UI与Golang API到主域名及子域名

IIS部署ASP.NET Core UI与Golang API的域名映射解决方案

一、修正站点基础绑定配置

  • 主站点(ASP.NET Core UI):
    • 绑定设置:主机名填foo.bar,端口80(用HTTPS就选443并配置对应证书),IP地址选「全部未分配」。
    • 不要用无主机名的站点,否则会优先匹配所有未指定主机名的请求,导致api子域名的请求被主站点拦截。
  • API站点(Golang反向代理):
    • 绑定设置:主机名填api.foo.bar,端口80(或443),IP地址选「全部未分配」。
    • 站点物理路径随便选个空目录就行,因为只做反向代理,不需要本地文件。

二、安装IIS必备模块

得先装这两个模块才能做反向代理:

  • URL重写模块
  • Application Request Routing (ARR)
    装完后,打开IIS管理器的「服务器节点」→「Application Request Routing Cache」→ 右侧点「服务器代理设置」,勾选「启用代理」,保存配置。

三、配置API站点的反向代理规则

进入api.foo.bar站点的「URL重写」模块,添加空白规则:

  1. 匹配URL:
    • 请求路径选「与模式匹配」,模式填(.*),用正则表达式。
    • 条件不用额外加(有特殊需求再调整,比如限制请求方法)。
  2. 操作设置:
    • 操作类型选「重写」
    • 重写URL填http://localhost:8080/{R:1}
    • 勾选「追加查询字符串」和「停止处理后续规则」
  3. 保存规则。

四、关键验证点

  • 确认Golang服务监听的是0.0.0.0:8080,不是127.0.0.1:8080(虽然本地能访问,但要保证IIS代理能正常转发)。
  • 检查服务器防火墙:允许80/443端口对外访问,同时放开本地环路(127.0.0.1)的8080端口通信。
  • 看IIS日志:去api站点的日志目录查请求是否到达该站点,以及重写后的目标地址是否正确。

五、HTTPS配置(可选)

如果要开HTTPS:

  • 给foo.bar和api.foo.bar申请通配符证书或多域名证书,绑定到对应站点的443端口。
  • 如果Golang服务也启用了HTTPS,就把反向代理的重写URL改成https://localhost:8080/{R:1};要是Golang只跑HTTP,就在IIS侧做SSL终止就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 17:40:12