You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker化ASP.NET Core Web API后无法连接的问题求助

ASP.NET Core Web API Docker化后无法连接问题排查

我将ASP.NET Core Web API进行Docker化,本地VS Code运行正常,但Docker部署后无法连接API。

相关配置与代码

Dockerfile

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env

WORKDIR /app
COPY ./ ./
RUN dotnet restore 
RUN dotnet publish -c Release -o outBuildFolder

FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app1

ENV DOTNET_URLS=http://+:80

COPY --from=build-env /app/outBuildFolder/ .
ENTRYPOINT ["dotnet","ShelfAPI.dll"]

docker-compose.yml 片段

shelfapi:
    build: ./ShelfAPI
    ports:
      - "4040:80"
    secrets:
      - my_secret
    networks:
      - betterreads

测试接口代码

[HttpGet("Test")]
public bool TestCon()
{
    Console.WriteLine("I've made it");
    return true;
}

操作与异常现象

  • 在Docker Desktop的docker exec终端执行测试命令:
    curl http://localhost:80/ShelfCtrl/Test
    
  • 本地主机和模拟器连接均出现无法连接或超时,未返回预期的true。
  • 容器日志输出:
    info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
    2023-10-30 15:32:55       Request starting HTTP/1.1 GET http://localhost:4040/ShelfCtrl/Test - -
    2023-10-30 15:32:55 info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
    2023-10-30 15:32:55       Request finished HTTP/1.1 GET http://localhost:4040/ShelfCtrl/Test - - - 307 0 - 0.9282ms
    

问题分析与解决方案

日志中的307状态码是临时重定向,说明ASP.NET Core默认开启了HTTPS重定向,但容器内仅配置了HTTP监听80端口,没有HTTPS相关配置,导致重定向后无法访问。

具体解决步骤

  1. 关闭HTTPS重定向(测试环境适用)
    在Program.cs中找到app.UseHttpsRedirection();代码行,注释或删除即可停止强制HTTPS跳转。

  2. 配置容器HTTPS(生产环境适用)

    • 生成自签名证书或使用正式证书;
    • 在Dockerfile中添加证书复制逻辑,同时设置环境变量:ASPNETCORE_HTTPS_PORT、ASPNETCORE_Kestrel__Certificates__Default__Path、ASPNETCORE_Kestrel__Certificates__Default__Password;
    • 在docker-compose中映射HTTPS端口(例如4430:443)。
  3. 修正访问命令

    • 容器内测试:确保控制器类带有[Route("[controller]")]特性,使用curl http://localhost:80/ShelfCtrl/Test即可;
    • 本地主机测试:使用映射后的端口,命令为curl http://localhost:4040/ShelfCtrl/Test。

额外检查点:

  • 确认控制器类的路由特性配置正确,避免路径匹配错误;
  • 查看容器完整启动日志,确认API是否正常启动并监听80端口。

内容的提问来源于stack exchange,提问作者cynlla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 13:23:28