【问题标题】:Does Kestrel support urls/hostnames, or it can only listen to a port?Kestrel 是否支持 urls/hostnames,或者它只能监听一个端口?
【发布时间】:2016-01-16 18:46:40
【问题描述】:

我正在尝试启动 ASP.NET 5 Web 应用程序,以便可以通过公共 Internet 地址访问它,例如“http://hostname.dom”。

我不希望它可以通过“http://www.hostname.dom”、“http://test.hostname.dom”等方式访问。我将 DNS 记录配置为通过“*.hostname.dom”和“主机名”指向服务器的 IP 地址。 dom”的名字。

所以我用参数启动Kestrel:

server.urls=http://hostname.dom

我希望它忽略任何不是“http://hostname.dom”的地址,但每个“http://justanything.hostname.dom”地址都可以使用应用程序,甚至可以通过 IP 地址使用。因此它正在侦听对 80 端口的所有请求,而不是对特定主机名的请求。 例如,在配置 IIS 站点绑定时,您可以指定像“hostname.dom”这样的绑定,它会忽略任何其他可能的前缀,直到您明确指定它们。

Kestrel 是否支持 urls/hostnames,或者它只能监听一个端口?

【问题讨论】:

    标签: dns virtualhost kestrel-http-server


    【解决方案1】:

    是的,Kestrel 不支持主机名监听。只有 ip:port 绑定。为了实现这一点,我的朋友,您要么必须使用其他托管解决方案(如 WebListener,如果在 Windows 上运行),要么使用网络服务器配置转发:http://druss.co/2015/06/asp-net-5-kestrel-nginx-web-server-on-linux/

    【讨论】:

    • 为什么这么难?为什么我不能用管理员将它绑定到 localhost:80 ?它定位为网络服务器,为什么我的网络服务器运行在 5000 端口上?
    • 嗯,我认为这不是最糟糕的想法,因为还有很多其他解决方案,它们在安全性等方面已经成熟。所以你有一辆带 Kestrel 的自行车,当你只需要一辆自行车时,这还不错。
    • 我也很惊讶 Kestrel 忽略了主机名github.com/aspnet/KestrelHttpServer/issues/…
    猜你喜欢
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2012-03-27
    • 2012-06-13
    • 1970-01-01
    相关资源
    最近更新 更多