From eeae08de1afb4b48f6e344e1d659933132a90403 Mon Sep 17 00:00:00 2001 From: Ivan Razin Date: Wed, 24 Jun 2026 11:20:04 +0300 Subject: [PATCH] Fix MTR API path: nginx rewrites diag_path prefix, backend accepts full paths Co-Authored-By: Claude Sonnet 4.6 --- assets/diagnostics/mtr-backend.py | 2 +- x-ui-latest.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/diagnostics/mtr-backend.py b/assets/diagnostics/mtr-backend.py index 353a431..5c763b2 100644 --- a/assets/diagnostics/mtr-backend.py +++ b/assets/diagnostics/mtr-backend.py @@ -187,7 +187,7 @@ class Handler(BaseHTTPRequestHandler): def do_POST(self): parsed = urlparse(self.path) - if parsed.path not in ("/mtr", "/api/mtr"): + if not (parsed.path in ("/mtr", "/api/mtr") or parsed.path.endswith("/api/mtr")): self._send_json(404, {"error": "not found"}) return diff --git a/x-ui-latest.sh b/x-ui-latest.sh index 098f831..ebb7c66 100644 --- a/x-ui-latest.sh +++ b/x-ui-latest.sh @@ -462,7 +462,7 @@ server { location ^~ ${diag_path}api/mtr { limit_req zone=diag_api burst=2 nodelay; limit_conn per_ip 2; - proxy_pass http://127.0.0.1:${mtr_backend_port}; + proxy_pass http://127.0.0.1:${mtr_backend_port}/api/mtr; proxy_http_version 1.1; proxy_set_header X-Real-IP \$remote_addr; proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;