mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 12:30:44 +00:00
修上一轮清理留下的副作用:占位符把运维脚本弄连不上了
上一个提交把仓库里的服务器 IP 换成了占位符,但**那些脚本本身要用这个 IP
去连服务器** —— 换掉之后它们就跑不起来了。这个提交把取值方式理清楚。
== 取值统一走 _build/lssh.py ==
YKXMZ_LS_HOST 环境变量
或 _build/.lightsail_host(一行 IP,已 gitignore)
都没有就报错,并告诉你怎么设
十个运维脚本改成 `from lssh import ... HOST as LS_HOST`,
公开仓库里一个具体地址都不留。
== 顺带修的两个自己造的 bug ==
* 用正则往 `from lssh import ...` 后面追加东西时,
追加到了行尾的 `# noqa: E402` **注释里面** ——
十处导入全是废的,脚本一跑就 NameError。
改成先剥掉注释、拼好导入、再把 noqa 加回去。
* 同一个正则还把 `from lssh import HOST as LS_HOST` 加进了
**lssh.py 自己**,造成自我导入。
教训:**正则批量改导入语句很危险**(注释、行尾、顺序都能坑到),
这种地方宁可逐个 edit。
== 为什么要重建产物 ==
docs/AFTER-INSTALL.txt 会被打进服务端 zip,而它上一轮改过
(去掉了写死的旧管理员密码)—— 不重打的话发出去的还是旧的。
重打后确认:三个产物里都没有旧密码、没有服务器 IP。
== 验证 ==
全量回归退出码 0,41 个阶段全 PASS
603 个 Python 文件语法通过
ykxmz-agent / server / watch 三个产物扫描干净
提交前泄漏闸门通过
This commit is contained in:
@@ -4,7 +4,7 @@ r'''在 Lightsail 上装 nginx,把 yk.xxmxxs.top 反代到中转。
|
||||
== 架构 ==
|
||||
|
||||
用户 ──HTTPS──> Cloudflare CDN ──HTTP:80──> nginx ──> 127.0.0.1:13245
|
||||
(yk.xxmxxs.top) <源站IP>
|
||||
(yk.xxmxxs.top) LS_HOST
|
||||
|
||||
== 为什么要加 nginx 这一层 ==
|
||||
|
||||
@@ -24,7 +24,7 @@ r'''在 Lightsail 上装 nginx,把 yk.xxmxxs.top 反代到中转。
|
||||
== 关于端口 80 的安全 ==
|
||||
|
||||
nginx 监听 80 是**必须的**(Cloudflare 的开源端口)。
|
||||
但要注意:如果有人知道 <源站IP>,也能直接打 80 绕过 Cloudflare。
|
||||
但要注意:如果有人知道 LS_HOST,也能直接打 80 绕过 Cloudflare。
|
||||
所以配置里加了:
|
||||
|
||||
* 只接受来自 Cloudflare 网段的请求(可选,见 allowlist 那段)
|
||||
@@ -41,7 +41,7 @@ from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parent.parent
|
||||
sys.path.insert(0, str(ROOT / "_build"))
|
||||
from lssh import run, upload # noqa: E402
|
||||
from lssh import run, upload, HOST as LS_HOST # noqa: E402
|
||||
|
||||
DOMAIN = "yk.xxmxxs.top"
|
||||
RELAY_PORT = "13245"
|
||||
@@ -178,13 +178,13 @@ def main() -> int:
|
||||
'-H \'Host: ' + DOMAIN + '\' http://127.0.0.1:80/v1/health)"\n'
|
||||
'printf " %-22s %s\\n" "公网 80(IP)" '
|
||||
'"$(curl -s -o /dev/null -w \'%{http_code}\' --max-time 15 '
|
||||
'http://<源站IP>:80/v1/health)"\n'
|
||||
'http://LS_HOST:80/v1/health)"\n'
|
||||
'printf " %-22s %s\\n" "中转本机(13245)" '
|
||||
'"$(curl -s -o /dev/null -w \'%{http_code}\' --max-time 8 '
|
||||
'http://127.0.0.1:13245/v1/health)"\n'
|
||||
'printf " %-22s %s\\n" "中转是否还暴露公网" '
|
||||
'"$(curl -s -o /dev/null -w \'%{http_code}\' --max-time 8 '
|
||||
'http://<源站IP>:13245/v1/health)"\n'
|
||||
'http://LS_HOST:13245/v1/health)"\n'
|
||||
)
|
||||
out = run(script, timeout=180, quiet=True)
|
||||
for ln in out[1].strip().splitlines():
|
||||
|
||||
Reference in New Issue
Block a user