【发布时间】:2022-01-13 07:24:44
【问题描述】:
我正在尝试在 AWS 的 Red hat linux 上发布一个 dot net core 5 web api,并使用公共 IP 地址通过互联网访问它。我现在想在不使用任何代理的情况下测试这个应用程序,即直接使用 linux 服务器中内置的 Kestrel 服务器
我已采取的步骤
- 我已经用 RHEL 8 配置了 AWS EC2 实例,并在服务器上安装了 Dot net core 5。
- 在 Visual Studio 2019(Windows 10 环境)中,创建了一个示例 Web api,即默认提供的天气应用程序。在本地运行并确认它可以工作
- 使用 configuration=release 选项将应用程序发布到 Visual Studio 的本地文件夹中
- 使用 winscp ,将本地文件夹内容复制到服务器上的 /var/www/html 文件夹中
- 从 ec2 实例运行命令 dotnet webapp2.dll 并获得以下输出
[ec2-user@ip-172-31-93-219 html]$ dotnet webapp2.dll
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
Content root path: /var/www/html
- 在浏览器中,使用公共 ip_address 和端口 5000 访问 Web 应用程序。但它没有响应
【问题讨论】:
-
附加信息:我从服务器 dotnet webapp2.dll --urls "localhost:5000" 运行了以下命令
-
另外,实现了在ec2实例的安全组中只开放了22和80端口。不知道如何打开 5000 端口
标签: .net-core