33800 Docs

← Retour

Fix WebSearchTool - 502 Bad Gateway + Autocomplete

Status : EN ATTENTE

Probleme

Quand on lance une recherche dans le WebSearchTool, on recoit un 502 Bad Gateway de nginx. L'autocomplete ne fonctionne pas non plus.

Cause racine

  1. loadConfig() charge les 75+ moteurs actifs depuis SearXNG /config
  2. Tous sont stockes dans selectedEngines et envoyes dans chaque requete (engines=google,bing,duckduckgo,...)
  3. SearXNG repond avec un header server-timing de ~5.3 KB (timing pour chaque moteur)
  4. Le proxy_buffer_size nginx par defaut est 4 KB → nginx ne peut pas lire les headers → 502
  5. L'autocomplete passe par la meme chaine (connectors-api → nginx → SearXNG) et peut aussi echouer

Log nginx confirme : upstream sent too big header while reading response header from upstream

Fix propose (2 modifications)

Fix 1 : WebSearchTool.tsx (frontend)

Ne pas envoyer le parametre engines quand tous les moteurs sont selectionnes. SearXNG utilise deja tous les moteurs actifs par defaut - inutile de les lister.

Fichier : /stock_8to/33800-stack/projects/connectors-front/src/components/tools/WebSearchTool.tsx

- if (state.selectedEngines.length > 0) {
-     queryParams.engines = state.selectedEngines.join(',');
- }
+ if (state.selectedEngines.length > 0 &&
+     state.selectedEngines.length < state.availableEngines.length) {
+     queryParams.engines = state.selectedEngines.join(',');
+ }

→ Elimine le probleme a la source : URL plus courte, headers de reponse plus petits.

Fix 2 : nginx buffer size (protection)

Augmenter le buffer pour les proxied headers sur search.33800.nowhere84.com.

Fichier : /etc/nginx/sites-enabled/search.33800.nowhere84.com.conf (sur VM nginx 192.168.1.104)

  location / {
      proxy_pass http://192.168.1.12:8888;
+     proxy_buffer_size 16k;
+     proxy_buffers 4 16k;
+     proxy_busy_buffers_size 32k;
      proxy_http_version 1.1;

→ Protection contre les cas limites futurs meme si un utilisateur deselectionne/reselectionne des moteurs.

Note : SearXNG n'est PAS gere par smart-deploy. La config nginx doit etre modifiee manuellement sur la VM nginx.

Actions

  1. Modifier WebSearchTool.tsx (Fix 1) → git commit + push → CI/CD deploy
  2. Modifier nginx config en SSH sur 192.168.1.104 (Fix 2) → nginx -t + reload

Impact