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

Windows 11 ARM不支持IIS时运行多子域名ASP.NET Core站点方案问询

Windows 11 ARM 本地多子域名ASP.NET Core 3.1站点部署方案

以下是经过验证的可行解决途径,完全适配M系列芯片Mac运行的Win11 ARM环境:

方案1:Nginx for ARM 反向代理(最贴近原有IIS使用习惯)

该方案通过反向代理实现多子域名同端口分发,无需修改现有站点代码:

  • 首先下载适配Windows ARM架构的Nginx安装包,完成基础安装
  • 将各个ASP.NET Core站点分别启动在不同本地端口,例如:
    • auth-dev站点:127.0.0.1:5001
    • web-dev站点:127.0.0.1:5002
    • webapi-dev站点:127.0.0.1:5003
  • 修改系统hosts文件(路径C:\Windows\System32\drivers\etc\hosts),添加如下映射:
    127.0.0.1 auth-dev.mydomain.com
    127.0.0.1 web-dev.mydomain.com
    127.0.0.1 webapi-dev.mydomain.com
    
    hosts仅负责域名到IP的解析,无需处理端口,端口分发逻辑由Nginx实现
  • 配置Nginx反向代理规则,在nginx.conf的http块中为每个子域名添加独立server配置,统一监听80/443端口,绑定对应子域名作为server_name,配置SSL证书后将请求转发到对应站点的本地端口即可
  • 可将Nginx注册为Windows系统服务,实现开机自启,使用体验和原有IIS一致

方案2:Kestrel 原生多域名绑定(性能最优)

ASP.NET Core自带的Kestrel服务器原生支持ARM架构,且支持基于主机名的同端口多站点绑定,无需额外安装第三方软件:

  • 为每个独立站点修改appsettings.json配置文件,添加Kestrel端点配置,示例如下:
    "Kestrel": {
      "Endpoints": {
        "Https": {
          "Url": "https://auth-dev.mydomain.com:443",
          "Certificate": {
            "Path": "你的开发证书路径.pfx",
            "Password": "证书密码"
          }
        }
      }
    }
    
  • 每个站点配置对应自己的子域名,启动后Kestrel会自动根据请求的主机名将流量分发到对应站点,支持所有站点同时监听443/80端口,完全满足你的需求

方案3:WSL2 部署

如果熟悉Linux操作,可启用Win11 ARM自带的WSL2功能,安装ARM版Linux发行版:

  • 在Linux环境中安装.NET 3.1运行时、Nginx/Apache服务,将站点部署在WSL2内
  • 将Windows层hosts的子域名映射指向WSL2的虚拟机IP即可正常访问,Linux环境下的服务配置选择更灵活,也完全兼容ASP.NET Core运行

补充说明

你之前调研到的Apache不支持ASP.NET Core的说法不准确,Apache可以作为反向代理转发到后端Kestrel运行的ASP.NET Core站点,和Nginx的实现逻辑一致,只是Nginx配置更简洁,更推荐优先选择前两种方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:54:03