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

未使用Dapr时Azure Container Apps中服务连接配置咨询

Azure Container Apps(ACA)服务间连接问题解答

一、Ingress配置建议

  • 前端:必须设为外部Ingress,这样外部用户才能正常访问前端应用。
  • 后端:建议设为内部Ingress——后端只需要被前端调用,没必要暴露给外部,能减少攻击面。如果设为外部Ingress也能工作,但完全没必要。

二、端口使用问题

二者完全可以都用80端口,不存在冲突。ACA里每个容器实例都有独立的网络命名空间,各自的端口是隔离的,你只要确保容器镜像内部监听80端口,部署时在ACA的容器配置里指定目标端口为80即可。

三、基址/环境变量配置

这是你连接失败的核心原因:前端调用后端不能再用localhost,必须用ACA内部的服务访问地址:

  • 后端的内部访问地址格式为:http://<后端应用名称>.<ACA环境名称>.internal
  • 把这个地址配置为前端的环境变量(比如命名为API_BASE_URL),然后在.NET Core前端里通过IConfiguration读取这个变量,用来初始化HttpClient。

举个前端代码示例:

builder.Services.AddHttpClient("ApiClient", client =>
{
    client.BaseAddress = new Uri(builder.Configuration["API_BASE_URL"]);
});

部署前端时,在ACA的应用设置里添加API_BASE_URL变量,值填后端的内部访问地址即可。

四、连接失败排查步骤

如果按上面配置后还是连不上,按以下步骤排查:

  1. 确认后端Ingress状态正常,若设为内部Ingress,检查是否未被误设为外部。
  2. 核对前端的API_BASE_URL变量值,确保应用名称、ACA环境名称拼写完全正确。
  3. 查看前端的ACA日志,看是否有DNS解析失败、连接超时或4xx/5xx的错误提示。
  4. 可以进入前端容器的终端,执行curl http://<后端应用名称>.<环境名称>.internal/api/xxx(替换成你的后端接口路径),直接测试连通性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:20:42