如何连接到运行ASP.NET Core的EC2实例

时间:2020-06-02 19:49:01

标签: docker asp.net-core amazon-ec2

我有一个静态IP地址附加到我的ec2实例上,并且它使用带有以下Dockerfile的asp.net核心在容器内运行Web服务器:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["WebApplication1.csproj", ""]
RUN dotnet restore "./WebApplication1.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "WebApplication1.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApplication1.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApplication1.dll"]

调试信息显示:

info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://[::]:80

但是如何在浏览器中连接到它?

1 个答案:

答案 0 :(得分:0)

找到了答案,非常感谢这个guy,在这里我发现Kestrel特别绑定到本地主机,我需要将URL显式设置为0.0.0.0:80才能接收外部网络流量。我是通过添加一个称为ASPNETCORE_URL=0.0.0.0:80

的环境变量(但您也可以执行cmd行arg)来完成此操作的