Files
nginxserver/scripts/fix_nginx_conf.sh
2026-07-16 13:03:11 +08:00

33 lines
763 B
Bash

#!/bin/bash
# 修复 nginx conf.d 中残留的 CORS 修改痕迹
# 1. 删除孤立的 return 204;
# 2. 删除孤立的 }
# 3. 合并多余空行
for f in /etc/nginx/conf.d/*.conf; do
python3 -c "
import re
with open('$f', 'r') as fh:
c = fh.read()
# 删除 Access-Control 相关行(如果有残留)
c = re.sub(r'.*Access-Control-Allow.*\n', '', c)
c = re.sub(r'.*Access-Control-Max.*\n', '', c)
# 删除孤立的 return 204;
c = re.sub(r'[ \t]*return 204;\n', '', c)
# 删除 server_name 和 ssl_certificate 之间孤立的 }
c = re.sub(r'(server_name[^;]+;)\n\n }\n( ssl_certificate)', r'\1\n\n\2', c)
# 合并多余空行
c = re.sub(r'\n\n\n+', '\n\n', c)
with open('$f', 'w') as fh:
fh.write(c)
"
done
echo "=== nginx -t ==="
nginx -t