nginx无法访问后端服务问题

查看nginx日志

该日志位置为nginx默认安装位置,若指定安装位置请打开指定位置查看

yml 复制代码
Nginx 主要日志文件通常位于:
访问日志:/var/log/nginx/access.log
错误日志:/var/log/nginx/error.log

less /var/log/nginx/error.log
报错:
verilog 复制代码
2026/01/30 09:16:29 [crit] 212423#212423: *21 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, client: 192.168.0.5, server: _, request: "GET /prod-api/captchaImage HTTP/1.1", upstream: "http://127.0.0.1:8080/captchaImage ", host: "192.168.110.109:8080", referrer: "http://192.168.110.109:8080/login?redirect=%2Findex "
问题根源:
复制代码
connect() to 127.0.0.1:8081 failed (13: Permission denied) while connecting to upstream

错误码 13: Permission denied 表示 SELinux 策略限制了 Nginx 的网络连接权限。

解决方案:
允许 Nginx 网络连接
bash 复制代码
# 允许 Nginx 连接到上游/后端网络
sudo setsebool -P httpd_can_network_connect 1
重启nginx
bash 复制代码
systemctl reload nginx
发现问题

依旧404报错,nginx无法访问后端服务

查看error日志:

verilog 复制代码
2026/01/30 09:43:19 [error] 212426#212426: *29 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.0.5, server: _, request: "GET /prod-api/captchaImage HTTP/1.1", upstream: "http://[::1]:8081/captchaImage", host: "192.168.110.109:8080", referrer: "http://192.168.110.109:8080/login?redirect=%2Findex "
问题根源:
复制代码
connect() failed (111: Connection refused) while connecting to upstream
upstream: "http://[::1]:8081/captchaImage"

关键变化:

  • 之前:127.0.0.1:8081 → Permission denied(SELinux 阻止)
  • 现在:[::1]:8081 → Connection refused(IPv6 本地地址,端口未监听)

Nginx 现在尝试用 IPv6 地址 [::1] 连接,但后端服务只监听了 IPv4 的 127.0.0.1。

解决方案:

修改 Nginx 配置,强制使用 IPv4

编辑 Nginx 配置文件(可能是 nginx.conf 或 conf.d/ 下的某个文件):

conf 复制代码
# 1. 编辑 Nginx 配置(根据你的实际路径)
sudo vim /etc/nginx/conf.d/default.conf  # 或你的配置文件

# 2. 找到包含 8081 的 proxy_pass 行,确保是 127.0.0.1 而不是
# 修改前:proxy_pass http://localhost:8081/xxx;
# 修改后:proxy_pass http://127.0.0.1:8081/xxx;

# 3. 检查配置并重载
sudo nginx -t
sudo systemctl reload nginx
根本原因

现代 Linux 系统中,localhost 通常同时解析到:

  • 127.0.0.1(IPv4)
  • [::1](IPv6)

Nginx 可能优先尝试了 IPv6,但你的后端服务(Java/Python/Node 等)只绑定了 127.0.0.1,没有绑定 [::1],导致连接被拒绝。

相关推荐
feng_you_ying_li1 分钟前
linux之网络层
linux·运维·网络
未来之窗软件服务10 分钟前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
卓豪终端管理12 分钟前
IT 运维视角下的终端数据安全:能力框架与落地清单
运维
小雉系统22 分钟前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
甜到心里的蛋糕29 分钟前
从 QQ 机器人到 B 站 AI 运营:一套可复现的视频流水线踩坑实录
运维·人工智能·python·自动化·视频制作
QYR-分析41 分钟前
26.2% 高增!场内及园区无人物流车,厂内短驳自动化的 L4 货运载体
运维·自动化
java_logo1 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
时间售卖铺1 小时前
Oracle DQL精髓:从基础到高级实战
运维·数据库·云原生·oracle
分布式存储与RustFS1 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
Ruiery1 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器