Asp.net core 设置“;“服务器名称”;当使用kestrel和dotnet内核时
我正在使用Asp.net core 设置“;“服务器名称”;当使用kestrel和dotnet内核时,asp.net-core,kestrel-http-server,Asp.net Core,Kestrel Http Server,我正在使用asp.netmvc编写一个应用程序,它现在运行在微软的kestrel服务器上。它工作正常,我在启动时使用hosting.json文件将值传递给它,定义如下 { "server": "Microsoft.AspNet.Server.Kestrel", "server.urls": "http://localhost:5000;https://localhost:5001" } 有没有办法给“服务器”起个名字,这样它就不会一直以localhost或未定义的报告?请将lo
asp.netmvc
编写一个应用程序,它现在运行在微软的kestrel
服务器上。它工作正常,我在启动时使用hosting.json
文件将值传递给它,定义如下
{
"server": "Microsoft.AspNet.Server.Kestrel",
"server.urls": "http://localhost:5000;https://localhost:5001"
}
有没有办法给“服务器”起个名字,这样它就不会一直以
localhost
或未定义的报告?请将localhost
替换为*
。这将带来以下好处:
如果您提供localhost
,则只能通过http://localhost:5000
且不使用IP[http://192.168.1.2:5000
,一个例子]。通过使用*
,您可以通过IP进行访问
您可以从其他PC或移动设备连接到服务器
几天前,我有与您相同的要求,并从以下方面获得了解决方案:。[默认情况下,注释部分是隐藏的。请单击显示注释,然后搜索本地主机。]
提示1:要从移动设备查看应用程序,请检查:
提示2:我的问题和答案已发布在此处: 您应该注意,将kestrel URL更改为*在安全方面是个坏主意。您现在已经将Kestrel暴露于直接连接,而不是在IIS后面保护它。ASP.NET团队不建议这样做。保持Kestrel在本地主机上侦听,并允许IIS作为公开的侦听器。@blowdart,我遇到了*方法的问题,我已经更新了代码。谢谢谢谢你的意见。“保持Kestrel在本地主机上侦听,并允许IIS作为公开的侦听器。”。但是,红隼独立于IIS运行,对吗?如果我完全依赖Kestrel而不是任何其他Web服务器,会发生什么?asp.net团队的建议是永远不要直接公开Kestrel。总是把它放在后面。没有例外。我陷入了僵局。这个答案确实告诉了我如何完成我的要求,但这被视为一种非常可怕的做法,所以我不知道该怎么办。嘿@blowdart,看看ASP.Net团队的Stephen Halter在这里说的话,在我的例子中,我们没有任何奢侈的理由把事情抛在IIS后面。要走哪条路?你想要完成什么需要一个服务器名的任务?:(我只是想停止在服务器标签上说“未知”。