asp.net5 自托管 WebListener 连接超时
asp.net5 selfhosted WebListener connection timeout
我正在使用 asp.net5 web 项目托管在控制台应用程序中。
它在本地主机上工作正常,但是当我尝试从 http://192.168.1.5:5432
等不同的机器访问该网站时,我得到 ERR_CONNECTION_TIMED_OUT
。
我尝试了几种方法,比如将本地主机更改为机器名称,但其中 none 有效。
hosting.ini 文件:
server=Microsoft.AspNet.Server.WebListener
server.urls=http://localhost:5432
是否有解决此问题的方法,或者在控制台应用程序中托管仅用于开发目的
因为您已将侦听器绑定到本地主机,所以它将只接受到(和来自)本地主机的连接。 localhost
在这里很特别,因为它(至少对于 Kestrel 而言)总是绑定到 localhost/loopback 接口。 localhost
之外的所有内容都绑定到所有网络接口。
如果您希望所有 IP 都可以访问它并且 host/domain 不可知,则必须使用 http://0.0.0.0:5432
(或者 http://*:5432
)。如果你这样做 http://www.example.com:5432
,那么它将可以从所有 IP 访问,但前提是在浏览器中输入了主机名,所以 http://192.168.1.5:5432
仍然不起作用(现在无法测试最后一个,但是* 通配符 url 应该仍然有效)。
这样您可以 运行 多个 asp.net 核心应用程序在同一台服务器上,但具有不同的 hosts/domains。
您还可以 运行 两个应用程序在同一个域和同一个端口上,如果您将它们绑定到不同的端点。
例如 http://www.example.com/App1
和 http://www.example.com/App2
,使用相同的端口和相同的域但不同的端点和两个应用程序。
编辑
windows 用户的附加信息。您可能必须添加一个例外来更改本地安全设置,以允许 dnx 绑定到此 port/host(或 运行 作为管理员,这将是不鼓励的),尤其是在使用主机和低编号时端口(分别为 80 和 443)。
netsh http add iplisten ipaddress=0.0.0.0:80
netsh http add urlacl url=http://+:80/ user=Example\Username
这将允许域 "Example" 中用户 "Username" 的应用程序开始侦听端口 80。
我正在使用 asp.net5 web 项目托管在控制台应用程序中。
它在本地主机上工作正常,但是当我尝试从 http://192.168.1.5:5432
等不同的机器访问该网站时,我得到 ERR_CONNECTION_TIMED_OUT
。
我尝试了几种方法,比如将本地主机更改为机器名称,但其中 none 有效。
hosting.ini 文件:
server=Microsoft.AspNet.Server.WebListener
server.urls=http://localhost:5432
是否有解决此问题的方法,或者在控制台应用程序中托管仅用于开发目的
因为您已将侦听器绑定到本地主机,所以它将只接受到(和来自)本地主机的连接。 localhost
在这里很特别,因为它(至少对于 Kestrel 而言)总是绑定到 localhost/loopback 接口。 localhost
之外的所有内容都绑定到所有网络接口。
如果您希望所有 IP 都可以访问它并且 host/domain 不可知,则必须使用 http://0.0.0.0:5432
(或者 http://*:5432
)。如果你这样做 http://www.example.com:5432
,那么它将可以从所有 IP 访问,但前提是在浏览器中输入了主机名,所以 http://192.168.1.5:5432
仍然不起作用(现在无法测试最后一个,但是* 通配符 url 应该仍然有效)。
这样您可以 运行 多个 asp.net 核心应用程序在同一台服务器上,但具有不同的 hosts/domains。
您还可以 运行 两个应用程序在同一个域和同一个端口上,如果您将它们绑定到不同的端点。
例如 http://www.example.com/App1
和 http://www.example.com/App2
,使用相同的端口和相同的域但不同的端点和两个应用程序。
编辑
windows 用户的附加信息。您可能必须添加一个例外来更改本地安全设置,以允许 dnx 绑定到此 port/host(或 运行 作为管理员,这将是不鼓励的),尤其是在使用主机和低编号时端口(分别为 80 和 443)。
netsh http add iplisten ipaddress=0.0.0.0:80
netsh http add urlacl url=http://+:80/ user=Example\Username
这将允许域 "Example" 中用户 "Username" 的应用程序开始侦听端口 80。