通过 azure VM 访问 .net Core API 会引发 ERR_CONNECTION_REFUSED
Posted
技术标签:
【中文标题】通过 azure VM 访问 .net Core API 会引发 ERR_CONNECTION_REFUSED【英文标题】:Accessing .net Core API via azure VM throws ERR_CONNECTION_REFUSED 【发布时间】:2020-12-27 19:27:05 【问题描述】:我已经使用 Azure 设置了一个 linux VM,并且我拥有该机器的公共 IP。
我已经在该机器中克隆了我的 repo,我运行 dotnet run
并得到了输出:
Hosting environment: Development
Content root path: /home/g67Admin/projeto_integrador_grupo67/mdv
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
然后我尝试转到:https://(public IP):5001/api/Drivers
,但我无法访问它,给我这个错误ERR_CONNECTION_REFUSED
。
我已经访问了 azure 门户并尝试将端口 5000 和 5001 从任何来源授权到任何来源,多次重新启动机器但仍然被拒绝连接。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:默认情况下,您的本地开发服务器不会侦听您的公共 IP 或允许来自您网络中任何其他计算机的流量。它只收听localhost
。您需要将其他 url 显式绑定到您的服务器。
https://weblog.west-wind.com/posts/2016/sep/28/external-network-access-to-kestrel-and-iis-express-in-aspnet-core
你可以像这样运行你的代码:
dotnet 运行 --urls http://0.0.0.0:5001
或者您可以使用Use WebHost.UseUrls()
来实现类似的结果。
【讨论】:
好的解决了,现在唯一的问题是关于VM和数据库之间的通信 很高兴我能帮上忙。如果您的问题由此得到解答,您应该通过单击复选标记接受它。这样,我们可以帮助将注意力集中在仍然没有答案的问题上。 VM和数据库之间的通信应该是第二个问题。以上是关于通过 azure VM 访问 .net Core API 会引发 ERR_CONNECTION_REFUSED的主要内容,如果未能解决你的问题,请参考以下文章
net core 应用程序无法访问 azure key Vault
从 3.1 升级后的 .NET Core 5.0 Azure 部署 CORS 问题
如何通过私有 DNS 名称从虚拟网络中的应用服务访问 Azure VM?