我的ASP.NET Core 2.1 Webapp可以在我的开发设置上完美运行。现在我要在生产中对其进行测试。
生产服务器是Ubuntu18。我关注了the instructions。我现在还不想设置Nginx,只需进行一些快速测试,然后说明就可以了:
“带有或不带有反向代理服务器的任何配置都是ASP.NET Core 2.0或更高版本应用程序的有效且受支持的托管配置。”
因此,我建立并发布了我的项目:dotnet publish --configuration Release
。
然后在服务器上:
/var/www/myapp
)sudo uwf allow 5000/tcp 80/tcp
dotnet MyApp.dll
(也尝试过sudo dotnet MyApp.dll
)它运行时没有错误/警告,并表示它正在监听http://localhost:5000
。
在我的本地计算机上,我尝试了http://serveripaddress
(和http://serveripaddress:5000
),但一无所获(“无法连接”)。我可以使用ssh,sftp等访问该服务器-只有http无法正常工作。
我在做什么错了?
答案 0 :(得分:2)
发现了问题。我需要使用:
sudo ASPNETCORE_URLS="http://0.0.0.0:5000" dotnet MyApp.dll
然后它记录Now listening on: http://0.0.0.0:5000
。而且我可以从远程客户端访问它。
答案 1 :(得分:1)
主机默认绑定是127.0.0.1,因此您只能在本地访问该应用程序。如果要从网络访问它,请添加--urls
参数。例如:
对于开发,您可以运行:
dotnet run --urls http://0.0.0.0:5000
对于已部署的项目,您可以运行:
dotnet MyApp.dll --urls http://0.0.0.0:5000
我使用的dotnet核心SDK版本为2.1.400。