繁体   English   中英

直接连接到IIS后的Kestrel

[英]Connect directly to Kestrel behind IIS

我有一个使用asp.net core 2.0 C#制作的Web应用程序。 此应用程序托管在IIS中,因为这是将其公开到Internet的推荐方法。

我现在正在将某些服务托管在与webapp相同的本地局域网中,这些服务需要连接到上述webappp。 我可以连接到公共iis服务器,该服务器当然可以工作。 但是,是否也可以直接连接到IIS管理的Kestrel服务器? 因此,不要连接到public_ip / somewhere,而是连接到kestrel-local-ip:port / somewhere。 优点是:

  • 避免多跳
  • Kestrel应用仍由IIS托管和管理,因此无需担心自我托管/管理。

在此处阅读文档: https : //docs.microsoft.com/zh-cn/aspnet/core/fundamentals/servers/aspnet-core-module?view=aspnetcore-2.1它指出:“已执行其他检查,并要求不要源自模块被拒绝。”。 读取Github复制后,这似乎是一个名为“ MS-ASPNETCORE-TOKEN”的HTTP标头。

那么这种情况有可能吗? 要直接连接到IIS,但也要直接连接到kestrel?

如果可能,我应该这样做吗? 由于我有很多小的请求,Kestrel可以很好地处理,因此性能提升似乎是巨大的。

我已经测试了这种情况。

当APP红est在iis后面时,

  1. 您可以使用netstat命令获取红est进程的“端口”。

  2. 然后卷曲“ localhost:port”,您将收到400错误的请求,还可以获得指示MS-ASPNETCORE-TOKEN令牌的错误日志。

  3. 您可以再次使用MS-ASPNETCORE-TOKEN请求标头卷曲“ localhost:port”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM