我在Ubuntu VPS上安装了.NET Core SDK v3.1,并且正在尝试使用ASP.NET Core项目。我使用dotnet new webapp -o --no-https来创建一个ASP.NET Core项目,并使用dotnet run运行它,使用.NET Core内置的Web服务器。 然而,我的问题是.NET Core内置的Web服务器绑定到IP地址127.0.0.1(本地主机),而不是VPS的公共IP地址。这意味着我只能从该VPS上的浏览器访问我的ASP.NET Core项目,而无法从远程计算机的浏览器访问。 如果Web服务器绑定到0.0.0.0而不是127.0.0.1,则会很好,因为0.0.0.0表示“所有网络接口”,而不仅仅是本地主机IP。人们建议前往项目文件夹,然后进入Properties文件夹,在那里编辑名为launchSettings.json的文件。在该文件中,我们需要将"applicationUrl": "http://localhost:5000"更改为"applicationUrl": "http://0.0.0.0:5000"。完成此操作并重新运行该项目后,问题得到解决,我可以从远程计算机连接到Web服务器。 然而,该解决方案需要编辑每个项目的launchSettings.json文件。我正在寻找不需要更改每个项目的解决方案,而更像是一次更改Web服务器设置的解决方案。是否存在这样的解决方案?例如,Web服务器的某些设置文件定义绑定到哪个IP地址和端口,或者如果没有这样的设置,则可能有一些ASP.NET Core项目模板,并且我可以进入该模板的文件夹,然后在那里编辑模板的launchSettings.json文件,因此自从那时起创建的所有新ASP.NET Core项目都将使用正确的IP(0.0.0.0)创建。任何只需要一次完成的解决方案都将是很好的。
dotnet run
很好地工作。例如:dotnet run --urls http://0.0.0.0:80
。 - pokeexport ASPNETCORE_URLS=http://0.0.0.0:5000
,然后运行了dotnet run
。它并没有像之前的--urls
成功那样成功 - 它仍然绑定到127.0.0.1
。我通过执行export
验证了export
确实在内存中,并且它在列表中。有没有办法让ASPNETCORE_URLS
解决方案也能够工作? - spaceman"urls": "http://0.0.0.0:5000;https://0.0.0.0:5001"
。 - scil