直接使用docker中的nginx

排查步骤(关键)

1️⃣ 确认后端服务是否在容器内可通过 localhost:8080 访问?

⚠️ 这是最常见的问题:

在容器内,localhost:8080 指的是 容器自己,而不是宿主机上的服务。

如果你的后端服务(Spring Boot 等)运行在 宿主机 或 另一个容器 上,那么:

  • proxy_pass http://localhost:8080/; → 会尝试访问 当前 Nginx 容器内部的 8080 端口
  • 但 Nginx 容器里并没有后端服务 → 404 或 502

✅ 正确做法:让 Nginx 容器能访问后端服务

✅ 情况一:后端服务在宿主机上

你需要让容器访问宿主机:

  • 在 Linux 上,使用 host.docker.internal(或 --network=host)
  • 修改 proxy_pass:
复制代码

Nginx

编辑

复制代码
location /charsming-api/ {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://host.docker.internal:8080/;  # 改这里!
相关推荐
逃逸线LOF2 小时前
为什么需要Actuator进行静态检查
spring cloud·eureka
DarkAthena3 小时前
wslc ps 卡死的排查:一次「停容器不停 VM」引发的连环故障
docker
小沈同学呀4 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
Lsetea4 小时前
Certbot webroot申请SSL证书总是404:Nginx挑战目录与路径映射检查
运维·nginx·https·ssl证书·certbot
lwx9148524 小时前
Docker-安装SSH服务
docker·容器·ssh
莫晓燚6 小时前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
时间售卖铺9 小时前
Docker实战:一键部署轻量级容器
运维·docker·云原生
山乐191319 小时前
麒麟系统,安装Nginx并配置https证书
运维·nginx·https
一直在努力学习的菜鸟10 小时前
阿里云SSL证书到期更换指南(Nginx + Typecho)
nginx
雾时之林12 小时前
Nginx反向代理与proxy_cache缓存搭建CDN服务器
服务器·nginx·缓存