1Panel-dev / 1Panel

🔥🔥🔥 Web-based linux server management control panel. / 现代化、开源的 Linux 服务器运维管理面板。
https://www.1panel.cn
GNU General Public License v3.0
22.85k stars 2.08k forks source link

[BUG]OpenResty和面板网络问题 #6992

Closed JAINKRE closed 1 day ago

JAINKRE commented 2 days ago

联系方式

No response

1Panel 版本

v1.10.20-lts

问题描述

问题1,通过面板终端连接不上:

image

终端连接试了三个地址,全部连不上 127.0.0.1 | root | 22 | 默认 192.168.3.88 | root | 22 | 默认 192.168.3.16 | root | 22 | 默认

192.168.3.88和192.168.3.16均为主机地址,且为万兆网卡。

问题2,OpenResty部署的网站使用默认配置的地址均打不开且OpenResty中没有日志记录: image

访问: image

已经确定,这些网站并没有被任何修改过包括配置,且知道昨天还可以正常使用,防火墙正常放开端口

重现步骤

起初,怀疑是设备的网卡以及内部局域网出现了问题,但实际排除后基本排除

连接局域网,另一台设备ping: image

并且,访问的面板地址就是主机局域ip地址,是可以正常访问的。

然后怀疑是不是192.168.3.88地址出现了问题,但是设备该ip其他端口访问正常: image 成功: image

为了确定问题是OpenResty中出现的(所有OpenResty挂载的网站均不可访问),特意拉去了我们使用nginx作为静态环境的容器,看到是可以正常访问的: image image

然而,这个问题诡异的地方在于,设备网卡有两个ip,使用另一个192.168.3.16却可以正常访问OpenResty中代理的站点: image192.168.3.88失败 image

为了防止是浏览器(使用的chrome)缓存等问题导致,特意换了firefox和firefox隐私浏览,以及清空缓存,均出现192.168.3.88不可访问192.168.3.16可以访问的问题

更奇怪的是,当使用机器中运行的Windows远程连接的时候,192.168.3.88192.168.3.16却同时可访问: image

期待的正确结果

目前可以确定的是,局域网内出问题的192.168.3.88地址只出现OpenResty管理的所有应用不可访问(直到昨天还是正常的),已经尝试过容器重启,但是因为OpenResty中安装的静态网站过多没敢轻易卸载重装

还有一个办法没有尝试就是重启机器,但目前机器在高负载工作不能重启。因此,先提交一下issue,麻烦社区内帮忙查看一下可能的问题原因。

我怀疑可能是OpenResty出现了某些问题,但也找不到OpenResty日志

相关日志输出

No response

附加信息

No response

wanghe-fit2cloud commented 2 days ago

问题一参考 使用自建 Nginx 反向代理 1Panel,导致主机和容器终端均不能正常使用

JAINKRE commented 2 days ago

问题一参考 使用自建 Nginx 反向代理 1Panel,导致主机和容器终端均不能正常使用

并没有使用nginx反向代理,包括问题1里的终端连不上,昨天都是正常的。nginx只是作为容器,拉取应用验证是否为192.168.3.88 ip问题。

wanghe-fit2cloud commented 2 days ago

目前我这里也不能准确定位到具体问题,可能存在以下几种情况吧:

  1. 检查 OpenResty 的 nginx.conf 配置文件中 listen 指令是否限制了绑定的 IP 地址(建议将 listen 设置为 0.0.0.0:80,让 OpenResty 监听所有网卡)。
  2. 检查服务器的防火墙规则(如 iptables 或 firewalld)是否对 192.168.3.88 的访问进行了限制。
  3. 在多网卡情况下,系统的路由规则可能会影响请求的路由方向,确保两张网卡的流量都被正确地路由到容器所在的网卡。

以上是几个可能的原因,可以逐一排查,看看是否解决了该问题。

wanghe-fit2cloud commented 2 days ago

问题一参考 使用自建 Nginx 反向代理 1Panel,导致主机和容器终端均不能正常使用

并没有使用nginx反向代理,包括问题1里的终端连不上,昨天都是正常的。nginx只是作为容器,拉取应用验证是否为192.168.3.88 ip问题。

浏览器上通过 IP:端口 访问的吗?

参考: https://github.com/1Panel-dev/1Panel/issues/1552

JAINKRE commented 2 days ago

目前我这里也不能准确定位到具体问题,可能存在以下几种情况吧:

  1. 检查 OpenResty 的 nginx.conf 配置文件中 listen 指令是否限制了绑定的 IP 地址(建议将 listen 设置为 0.0.0.0:80,让 OpenResty 监听所有网卡)。
  2. 检查服务器的防火墙规则(如 iptables 或 firewalld)是否对 192.168.3.88 的访问进行了限制。
  3. 在多网卡情况下,系统的路由规则可能会影响请求的路由方向,确保两张网卡的流量都被正确地路由到容器所在的网卡。

以上是几个可能的原因,可以逐一排查,看看是否解决了该问题。

好的,等机器任务执行结束后我先重启一下设备看看。问题应该不在防火墙规则上,如果限制不可能只限制OpenResty使用的端口号。我觉得大概率问题还是出现在了OpenResty上,总之,我先找找看吧。

wanghe-fit2cloud commented 1 day ago

好的,我们先将该 issue 转为 discussion,以便进一步讨论。