我有一个静态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
但是如何在浏览器中连接到它?
答案 0 :(得分:0)
找到了答案,非常感谢这个guy,在这里我发现Kestrel特别绑定到本地主机,我需要将URL显式设置为0.0.0.0:80才能接收外部网络流量。我是通过添加一个称为ASPNETCORE_URL=0.0.0.0:80