azev
V2EX  ›  问与答

在 IIS 里部署 asp.net core 的站点

  •  
  •   azev · Jul 6, 2018 · 1399 views
    This topic created in 2874 days ago, the information mentioned may be changed or developed.
    其中 iis 是如何实现反向代理的?

    以往说起 iis 里的反向代理 都会说要安装 arr
    但是到了 asp.net core
    只会说 iis 实现了到 kestrel 的反向代理
    那其中是怎么实现的呢 不是 arr? 能借用来代替 arr 吗?
    4 replies    2018-07-06 12:40:40 +08:00
    picture2200
        1
    picture2200  
       Jul 6, 2018 via Android
    普通的代理是需要用到 Urlrewrite + arr。

    asp.net core 是使用 aspnetcore.dll 实现转发请求,这个 module 是 native 的,具体可以去看 server 的 applicationhost.config 配置。

    部署到 IIS 的时候 webconfig 指定了 ASPnetcore module 参数,直接将请求转给 dotnet 进程。如果要分离部署还是使用 Urlrewrite + arr。

    部署在 IIS 有一个问题就是无法像以前一样热部署,必须先 recycle 然后再部署,而这两个手动操作不够快。这个问题可能会导致紧急 bug 无法快速修复。所以我还是升级到了.net 4.7.2。
    azev
        2
    azev  
    OP
       Jul 6, 2018
    @picture2200 多谢
    嗯 关键是有个 web.config 指定了 ASP.NET Core Module
    这个东西做了反向代理的工作 只是这个还代替不了 arr
    azev
        3
    azev  
    OP
       Jul 6, 2018
    @picture2200
    关于热部署
    我看有个 offline.htm 机制
    不知道能不能满足你的需求?
    picture2200
        4
    picture2200  
       Jul 6, 2018 via Android
    @azev 系统已经 offline 功能,只有在重大更新才能这样,而且要提前一年规划好来年的日期,不然就要被拉上去开会。

    如果用.net core, 我就要一台下线部署一台,碰到数据库更新,可麻烦了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1035 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 19:13 · PVG 03:13 · LAX 12:13 · JFK 15:13
    ♥ Do have faith in what you're doing.