33 lines
763 B
Bash
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
|