fix: test_nginx_proxy_temp 改用 remote() 执行

This commit is contained in:
2026-07-19 09:58:57 +08:00
parent 941a8e5350
commit d9c9d1dca0

View File

@@ -456,15 +456,13 @@ test_payment_verify_detection() {
test_nginx_proxy_temp() {
log_info "测试 nginx proxy tempPOST body 权限)..."
# 发送 POST 请求验证 nginx 能正代理带 body 的请求AppArmor proxy temp 权限检查)
local body; body=$(python3 -c "print('x'*50000)" 2>/dev/null || printf 'x%.0s' {1..50000})
# 发送 POST body 的请求到公开 POST 端点,验证 nginx 能正代理
# 如果 proxy temp 无权限nginx 返回 502/403 或超时
local resp
resp=$(curl -sk --max-time 10 -X POST "${BASE_URL}" \
-H "Content-Type: application/json" \
-d "{\"test_body_size\":${#body}}" 2>&1) || true
resp=$(remote "curl -sk --max-time 10 -X POST '${BASE_URL}/api/login' \
-H 'Content-Type: application/json' \
-d '{\"test\":\"x\"}'" 2>/dev/null || true)
# 只要能返回响应(包括错误),就说明 nginx 能正常处理 POST body
# 如果 proxy temp 无权限nginx 会返回 502/403 或超时
if [ -n "$resp" ]; then
log_info " nginx POST body 代理正常 ✅"
return 0