我使用asp.net core 2.0在C#中创建了一个Web应用程序。 此应用程序托管在IIS中,因为这是将其公开到互联网的推荐方式。
我现在正在使用与webapp相同的本地局域网托管一些服务,这需要连接到上面的webappp。我可以连接到公共的iis服务器当然可以工作。但是,是否也可以直接连接到由IIS管理的Kestrel服务器?因此,不要连接到public_ip / somewhere,而是连接到kestrel-local-ip:port / somewhere。优点是:
在此处阅读文档:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/aspnet-core-module?view=aspnetcore-2.1它声明:“执行附加检查,并且拒绝不是来自模块的请求。”阅读Github repro,这似乎是一个名为“MS-ASPNETCORE-TOKEN”的HTTP头。
这种情况可能会以某种方式出现吗?要直接连接到IIS,还要直接连接到kestrel?
如果有可能,我应该这样做吗?性能提升似乎很大,因为我有很多小的请求,Kestrel可以很好地处理。
答案 0 :(得分:0)
我已经测试了这种情况。
当APP红est在iis后面时,
您可以使用netstat命令获取红est进程的“端口”。
然后卷曲“ localhost:port”,您将收到400错误的请求,还可以获得指示MS-ASPNETCORE-TOKEN令牌的错误日志。
您可以再次使用MS-ASPNETCORE-TOKEN请求标头卷曲“ localhost:port”。