3

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

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

所以我用参数启动 Kestrel:

server.urls=http://hostname.dom

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

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

4

1 回答 1

5

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

于 2015-10-18T12:55:08.923 回答