wip: 2026-08-11 工作树快照(docs/memory/h5.py/scripts 等 447 项未评审改动,安全提交到 feat 分支)
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Patch 生产 nginx.conf:新增 /h5/v20260807a/ 版本化 location + 将 /h5/go 302 指向它。
|
||||
仅做确定性字符串替换,保持其他配置不变。"""
|
||||
import sys
|
||||
|
||||
CONF = '/opt/wecom-it-desk/nginx/nginx.conf'
|
||||
OLD_GO = '/h5/v20260806g/$is_args$args'
|
||||
NEW_GO = '/h5/v20260807a/$is_args$args'
|
||||
|
||||
BLOCK = '''location /h5/v20260807a/ {
|
||||
alias /usr/share/nginx/html/h5/;
|
||||
index index.html;
|
||||
try_files $uri /h5/v20260807a/index.html;
|
||||
add_header Cache-Control "no-store" always;
|
||||
add_header Strict-Transport-Security "max-age=31536000" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-XSS-Protection "1; mode=block" always;
|
||||
add_header Referrer-Policy "no-referrer-when-downgrade" always;
|
||||
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
|
||||
add_header Cross-Origin-Opener-Policy "same-origin" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
}
|
||||
'''
|
||||
|
||||
with open(CONF, 'r', encoding='utf-8') as f:
|
||||
s = f.read()
|
||||
|
||||
# 1) repoint /h5/go (all occurrences)
|
||||
n_go = s.count(OLD_GO)
|
||||
if n_go == 0:
|
||||
print('WARN: old /h5/go target not found, skip replace')
|
||||
else:
|
||||
s = s.replace(OLD_GO, NEW_GO)
|
||||
print('replaced /h5/go target occurrences:', n_go)
|
||||
|
||||
# 2) insert versioned block before each 'location /h5/ {'
|
||||
marker = 'location /h5/ {'
|
||||
if marker not in s:
|
||||
print('ERROR: marker not found')
|
||||
sys.exit(2)
|
||||
segs = s.split(marker)
|
||||
out = segs[0]
|
||||
for seg in segs[1:]:
|
||||
out += BLOCK + marker + seg
|
||||
with open(CONF, 'w', encoding='utf-8') as f:
|
||||
f.write(out)
|
||||
print('inserted versioned block before', len(segs) - 1, 'occurrence(s) of', repr(marker))
|
||||
print('new conf length:', len(out))
|
||||
Reference in New Issue
Block a user