Docker 部署宝塔面板 Nginx 反向代理 502 踩坑实录

Docker 部署宝塔面板 Nginx 反向代理 502 踩坑实录

一、问题描述

最近在使用 Docker 部署宝塔面板,配置 Nginx 反向代理宿主机端口服务时,遇到以下问题:

  • 访问 127.0.0.1:20000/api502 Bad Gateway
  • 宿主机直接访问 6688 / 6689 端口正常
  • 日志/页面提示:invalid linklink dead

宿主机端口正常,但容器内 Nginx 代理不通,这是非常典型的 Docker 网络误区。


二、核心原因:99% 的人都错在这里

❌ 错误写法(添加反向代理宝塔默认生成)

nginx 复制代码
proxy_pass http://127.0.0.1:6688;

为什么错?

在 Docker 容器内部:

127.0.0.1 = 容器自己

不是宿主机!

容器访问自己的端口,当然找不到服务 → 直接 502。

三、正确方案:host.docker.internal

✅ 正确写法

nginx 复制代码
proxy_pass http://host.docker.internal:6688;

作用解释

host.docker.internal 是 Docker 官方内置的固定域名作用:让容器内部访问到宿主机

重启nginx即可

四、云服务器没有host.docker.internal

nginx 复制代码
proxy_pass http://host.docker.internal:6688;

替换为:

nginx 复制代码
proxy_pass http://172.17.0.1:6688;

172.17.0.1 = Docker 默认网关

宿主机 ↔ 所有容器 都能通过这个 IP 互相访问

不管 6688 / 6689 都能通

本地能用,云服务器也能用

相关推荐
张忠琳10 分钟前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
Elastic 中国社区官方博客2 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
郝亚军2 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
风曦Kisaki4 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着20135 小时前
docker 安装 ,在centos7.9
运维·docker·容器
骑上单车去旅行7 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax8 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc8 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
java_logo8 小时前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset
zy happy9 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker