mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2026-04-25 08:45:58 +03:00
[GH-ISSUE #1169] 节点配置多机的套了cdn无法链接 #3738
Labels
No labels
Q/A
bug
casdoor
dependencies
docker
documentation
duplicate
enhancement
help wanted
invalid
lego
platform:openwrt
platform:windows
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/nginx-ui#3738
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Silentely on GitHub (Jun 24, 2025).
Original GitHub issue: https://github.com/0xJacky/nginx-ui/issues/1169
佬,a机器通过设置b机器域名通过节点连接,Cloudflare小黄云代理b机器,已添加waf跳过。
现在情况是如果通过ip添加节点,首页能看到b机器状态,也能通过链接修改b机器配置,
但是如果通过域名添加节点,首页能看到b机器状态,但是点击链接跳转后提示服务器错误,
a与b均是通过docker拉取最新镜像部署且给予网络模式为host,且均未开启防火墙。
但是如果在a机器上同步证书或者配置却又可以,只是无法通过链接去修改b机器
a机器网页控制台输出

a机器程序日志

a机器期间nginx访问日志(只有一条,应该是首页状态的,点击链接后无访问日志)
a机器期间无错误日志
b机器程序日志

b机器nginx反代配置文件
@0xJacky commented on GitHub (Jun 24, 2025):
能否将 app.ini 中的 RunMode 改成 debug 模式,再访问一下看看日志
@0xJacky commented on GitHub (Jun 24, 2025):
😂,我怀疑是 cf 的 waf 把请求拦截了,你可以看看 Response 是不是让你过人机验证
@0xJacky commented on GitHub (Jun 24, 2025):
如果是这样的话,你可以试试在 CF 的 WAF 规则里添加一下 bypass 的条件,比如主节点的 ip,就跳过所有的验证,试试
@Silentely commented on GitHub (Jun 24, 2025):
一开始添加域名是拦截了,拦截结果就是首页无法显示b机器的信息,显示离线,后面设置了放行跳过所有规则已经没拦截了,并且在waf工具里设置了ip允许访问所有,我测试了下套腾讯云的cdn也是一样的错误


已在a机器修改app.ini为debug模式

以下是再次测试的日志
a机器程序日志
b机器程序日志
@0xJacky commented on GitHub (Jun 24, 2025):
看样子请求没有到 b 机器,搞不好可能要抓个包看看什么情况
@Silentely commented on GitHub (Jun 24, 2025):
请问佬是在a机器上抓包吗?晚点我拿小黄鸟抓下看看
@0xJacky commented on GitHub (Jun 24, 2025):
有两处会返回 503,
一处是找不到这个 node-id 对应的记录,另一处是连接远程节点的时候鉴权错误
有个简单的方法,我感觉可能不用抓包,你可以在浏览器里看一下 503 的 Response body 里面有没有内容
@Silentely commented on GitHub (Jun 24, 2025):
浏览器里返回如下图
@Silentely commented on GitHub (Jun 24, 2025):
抓了下a服务的9000端口返回如下
同时直接测试curl -v http://127.0.0.1:9000/api/system/processing
返回403
@Silentely commented on GitHub (Jun 24, 2025):
这一份是通过节点设置ip:9000来连接,能正常链接修改b服务器配置文件
@0xJacky commented on GitHub (Jun 24, 2025):
直接 curl 肯定 403 的,api 有鉴权,你得带上 Authorization 的 Header 去请求,而且最好找个不是 sse 的接口
@0xJacky commented on GitHub (Jun 24, 2025):
我现在怀疑 CDN 丢弃了一些 Header 导致鉴权失败了
@Silentely commented on GitHub (Jun 24, 2025):
下面是携带Authorization请求日志,请问大佬你有使用cdn的节点去链接其他服务器吗?能正常链接吗,有的话可以看看是哪家 我移过去试试
@0xJacky commented on GitHub (Jun 24, 2025):
我没试过,我一般都是内网 VPC 用的,如果通过外网传输,也会设置安全组白名单之类的,所以就没考虑用 cdn 了
@0xJacky commented on GitHub (Jun 24, 2025):
我现在主要是怀疑 cdn 没有携带 X-Node-Secret
@Silentely commented on GitHub (Jun 24, 2025):
可能是
这是将ip:端口改成域名后就一直卡在这没有回应"* old SSL session ID is stale, removing",有没有可能是cdn缓存问题?
X-Node-Secret的话需要我这边测试吗
@0xJacky commented on GitHub (Jun 24, 2025):
不用,倒是你发日志的时候最好别把 authorization 带上,为了安全起见建议测试完把 db 删了
@0xJacky commented on GitHub (Jun 24, 2025):
我明天研究下
@Silentely commented on GitHub (Jun 24, 2025):
实在不行 我就直接换成ip加端口 然后设置ip规则看看
感谢大佬的提醒,不过没事,我这台服务器是用来测试的,等下就停止容器,ip和域名我都是替换了的
辛苦大佬了,我是用Cloudflare套的cdn(默认配置,添加了waf绕过),大佬有空可以看看能不能重现
@0xJacky commented on GitHub (Jun 25, 2025):
你有试过重启 master 节点的 nginx-ui 吗
@0xJacky commented on GitHub (Jun 25, 2025):
你是不是配置过 IPWhiteList 啊
@Silentely commented on GitHub (Jun 25, 2025):
重启过a机器的nginx-ui和b机器的nginx-ui,但是重启b的次数多点,a可能就2次
两份配置文件都看了下是默认的
[auth]
IPWhiteList =
BanThresholdMinutes = 60
MaxAttempts = 10
@0xJacky commented on GitHub (Jun 25, 2025):
麻烦试下最新的开发版还有这个问题吗,两个节点都更新一下:
@Silentely commented on GitHub (Jun 25, 2025):
佬,刚在a和b机器上拉取了17点35分的dev镜像重新部署情况还是一样(试了下最新的latest 2.1.8也是这样)
三个链接503
@0xJacky commented on GitHub (Jun 25, 2025):
那就怪了,我这是可以通过 cf proxy 来访问的
@Silentely commented on GitHub (Jun 25, 2025):
QA,我再看看cf上的选项,感谢大佬了
@0xJacky commented on GitHub (Jun 25, 2025):
将这个部署到 b 节点试试?
https://cloud.nginxui.com/dev-builds/nginx-ui.txz
@Silentely commented on GitHub (Jun 25, 2025):
我将这个二进制替换了b机器的文件再启动 在无痕模式下a机器链接b机器也还是提示服务器错误,无法操作,我这环境麻了,搞不了就算了,分开登录也行
@0xJacky commented on GitHub (Jun 25, 2025):
那估计确实是配置的问题了,我这个已经把能把除了认证返回 403 的部分都注释掉了。
@Silentely commented on GitHub (Jun 25, 2025):
谢谢大佬这两天的回复和排查,感谢,应该是我这边不知cdn上修改了什么配置还是哪的,现在通过ip加端口再配置ufw仅限指定ip访问来远程修改其他服务器配置了。