mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 17:10:43 +00:00
排查公网间歇 530 时发现的:
watchdog 日志显示「公网不通(HTTP 530,ha_connections=1)」
—— 出问题那段时间隧道**只剩 1 条连接**。
原来 watchdog 只把 CONNS == 0 算"零连接",
CONNS == 1 不当回事。但实测**只剩一条连接时跨机房回源就会失败**
(请求落 SEA,隧道只剩 LAX 一条)。
改法:
* CONNS <= 1 都计入降级计数
* 公网不通 **且** 连接数已在危险区 = 确认的故障(不是短抖动)
-> 立刻重启,不等 3 次
每次检查间隔 20 秒,等 3 次就是白断 40 秒。现在能省下来。
实测:改完公网 15/15 = 100%,连接数 4 条。
顺带说明 watchdog 是怎么跑的:
systemd timer(lanremote-watchdog.timer),每 20 秒调一次
watchdog.service。之前查"服务是 inactive"一度以为它没在跑,
其实是 timer 触发型的 —— oneshot 服务跑完就是 inactive,正常。
38 lines
1.3 KiB
Bash
38 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# 最后确认:页面在浏览器里真的能看了
|
|
set -u
|
|
|
|
BASE=http://127.0.0.1:8080
|
|
PASS=$(cat /root/lanremote-relay/data/admin_password.txt 2>/dev/null)
|
|
|
|
curl -s -c /tmp/ck.txt -o /dev/null --max-time 15 \
|
|
-d "username=xmz7891&password=$PASS" "$BASE/admin/login"
|
|
|
|
ct() { curl -sI "$@" --max-time 15 | grep -i '^content-type' | tr -d '\r'; }
|
|
|
|
echo " 管理页 Content-Type: $(ct -b /tmp/ck.txt $BASE/zhongzhuanzhan)"
|
|
echo " 登录页 Content-Type: $(ct $BASE/zhongzhuanzhan)"
|
|
echo " 官网 Content-Type: $(ct $BASE/)"
|
|
echo " 截图 Content-Type: $(ct $BASE/shot/pc-main.png)"
|
|
echo " favicon Content-Type: $(ct $BASE/favicon.ico)"
|
|
|
|
echo
|
|
echo " 管理页开头(应该是 <!doctype html>,不是被当文本):"
|
|
curl -s -b /tmp/ck.txt --max-time 15 "$BASE/zhongzhuanzhan" | head -c 60
|
|
echo
|
|
echo
|
|
|
|
echo " HEAD 支持:"
|
|
for p in "/" "/v1/health" "/favicon.ico" "/zhongzhuanzhan"; do
|
|
printf " %-20s HEAD HTTP %s\n" "$p" \
|
|
"$(curl -sI -o /dev/null -w '%{http_code}' --max-time 10 "$BASE$p")"
|
|
done
|
|
|
|
echo
|
|
echo " 公网:"
|
|
for i in 1 2 3; do
|
|
printf " %d: HTTP %s\n" "$i" \
|
|
"$(curl -s -o /dev/null -w '%{http_code}' --max-time 20 \
|
|
-H 'User-Agent: LanRemote/1.4.0' https://relay.xxmxxs.top/zhongzhuanzhan)"
|
|
done
|