#!/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