【问题标题】:setting "server name" when using kestrel with dotnet core将红隼与 dotnet 核心一起使用时设置“服务器名称”
【发布时间】:2016-02-29 03:58:05
【问题描述】:

我正在使用asp.net mvc 编写一个应用程序,该应用程序现在针对微软的kestrel 服务器运行。它工作正常,我在启动时使用定义如下的hosting.json 文件向它传递值;

{
    "server": "Microsoft.AspNet.Server.Kestrel",
    "server.urls": "http://localhost:5000;https://localhost:5001"
}

有没有办法给“服务器”起个名字,这样它就不会一直报告为localhostundefined

【问题讨论】:

  • 您想要完成什么需要服务器名称?
  • :(我只是想让 Glimpse 停止在服务器标签上说“未知”。

标签: asp.net-core kestrel-http-server


【解决方案1】:

请将localhost 替换为*。这将带来以下好处:

  1. 如果您提供localhost,则只能通过http://localhost:5000 访问应用程序,而不能使用IP [http://192.168.1.2:5000,示例]。使用*,可以通过IP访问。
  2. 您可以从其他 PC 或移动设备连接到服务器。

几天前,我和您的要求相同,并从:docs.asp.net 获得了解决方案。 [评论部分默认隐藏。请点击Show Comments并搜索localhost。]

提示 1:要从移动设备查看应用程序,请查看:Viewing localhost website from mobile device

提示 2: 我的问题和答案已发布在这里:Compiling an ASP.NET 5 Web Application and generating DLL files

【讨论】:

  • 您应该注意,将 kestrel URL 更改为 * 在安全方面是个坏主意。您现在已将 Kestrel 暴露给直接连接,而不是在 IIS 后面保护它。 ASP.NET 团队确实推荐这个。让 Kestrel 在 localhost 上监听并允许 IIS 成为暴露的监听器。
  • @blowdart,我遇到了 * 方法的问题,我已经更新了我的代码。谢谢!供您输入。 “让 Kestrel 在 localhost 上侦听并允许 IIS 成为暴露的侦听器。”。但是,Kestrel 独立于 IIS 运行,对吗?如果我完全依赖 Kestrel 而不是任何其他 Web 服务器会发生什么?
  • asp.net 团队的建议是永远不要直接暴露 kestrel。总是把它放在什么后面。没有例外。
  • 好吧。我陷入了僵局。这个答案确实告诉我如何完成我的要求,但它被视为一种非常可怕的做法,所以我不知道该怎么做。
  • 嘿@blowdart,看看来自 ASP.Net 团队的 Stephen Halter 在这里说了什么github.com/aspnet/Docs/issues/926 在我的例子中,我们没有任何奢侈将东西放在 IIS 后面。走哪条路?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-05
  • 2022-01-11
  • 1970-01-01
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 2014-11-29
相关资源
最近更新 更多