38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
# 修复 Nginx /uploads/ 502 - 改用 proxy_pass 给 Express 端口 3000
|
|
# Express 已经能正常服务 /uploads/* (验证过 200)
|
|
|
|
NGINX_SITE=$(ls /etc/nginx/sites-enabled/yuyueguahao 2>/dev/null || ls /etc/nginx/conf.d/yuyueguahao.conf 2>/dev/null)
|
|
echo "Nginx site file: $NGINX_SITE"
|
|
|
|
if [ -z "$NGINX_SITE" ]; then
|
|
echo "未找到 nginx site config, 搜索 uploads 相关配置"
|
|
find /etc/nginx -name "*.conf" -exec grep -l "uploads" {} \;
|
|
exit 1
|
|
fi
|
|
|
|
echo "---BEFORE---"
|
|
grep -B1 -A4 uploads "$NGINX_SITE" 2>&1
|
|
|
|
# 替换 /uploads/ 的 location 为 proxy_pass
|
|
# 使用 sed 把 alias 那一行替换成 proxy_pass
|
|
sed -i '/location \/uploads\//,/^ }/{
|
|
s|alias .*|proxy_pass http://127.0.0.1:3000;|
|
|
s|autoindex off;||
|
|
}' "$NGINX_SITE"
|
|
|
|
echo "---AFTER---"
|
|
grep -B1 -A4 uploads "$NGINX_SITE" 2>&1
|
|
|
|
echo "---TEST CONFIG---"
|
|
nginx -t 2>&1 | tail -3
|
|
|
|
echo "---RELOAD NGINX---"
|
|
nginx -s reload 2>&1 || systemctl reload nginx 2>&1 || service nginx reload 2>&1
|
|
sleep 2
|
|
|
|
echo "---TEST IMAGE---"
|
|
curl -o /dev/null -s -w "HTTP %{http_code} size=%{size_download} type=%{content_type}\n" http://localhost/uploads/1781403331659-1cac3cac.png
|
|
echo "DONE"
|