Salta al contenuto

Errore 406 Not Acceptable: WAF e contenuti

Pubblicato il Aggiornato il

L’errore 406 Not Acceptable indica che il server non può produrre una risposta compatibile con le preferenze comunicate dal client. Alcune configurazioni lo usano anche per blocchi applicativi: leggi la risposta e i log prima di attribuirlo al WAF.

Errore 406 Not Acceptable: WAF e contenuti

Questa guida approfondisce errore 406 Not Acceptable con controlli progressivi, modifiche reversibili e verifiche finali. Non inviare password, cookie, token, chiavi private o codici 2FA nei ticket.

Che cosa significa

Gli header Accept, Accept-Language e Accept-Encoding possono influenzare la negoziazione. Tuttavia un 406 durante il salvataggio di testo, codice o form può essere collegato a ModSecurity.

Il messaggio e i log devono stabilire quale interpretazione si applica al caso specifico.

Come riconoscere il problema

  • Una API restituisce 406 per un formato richiesto.
  • Il salvataggio fallisce solo con una stringa specifica.
  • Il log mostra ModSecurity access denied.
  • Il browser funziona ma un client personalizzato no.
  • Cambiare l’header Accept modifica il risultato.

Cause più frequenti

1. Header Accept non supportato

Il client richiede un formato che l’endpoint non produce. Confronta questa ipotesi con il messaggio completo e con i log dell’orario interessato, evitando conclusioni basate soltanto sulla pagina mostrata dal browser.

2. Content negotiation errata

Lingua, codifica o media type non corrispondono.

3. Regola ModSecurity

Il payload somiglia a SQL injection, XSS o codice.

4. Plugin di sicurezza

Un filtro applicativo restituisce 406 invece di 403.

5. API configurata male

Il server accetta soltanto JSON o un formato specifico.

6. Cache con variazione incompleta

Una risposta per un header viene servita a client differenti.

Diagnosi passo per passo

Salva il risultato prima di passare al controllo seguente, così potrai identificare il punto preciso in cui il comportamento cambia.

  1. Controlla header Accept. Confronta browser e client che fallisce.
  2. Leggi corpo e intestazioni. Identifica server, endpoint e formato atteso.
  3. Registra orario e payload minimo. Riduci il contenuto finché individui la parte che scatena il blocco.
  4. Controlla error_log e audit WAF. Cerca rule id e messaggio.
  5. Prova un media type supportato. Usa la documentazione ufficiale dell’API.
  6. Verifica plugin di sicurezza. Riproduci in staging senza disattivazioni globali.
  7. Controlla Vary e cache. Assicurati che le risposte siano separate per gli header pertinenti.

Procedura di risoluzione

Dopo la modifica ripeti il test originale e verifica che non siano comparsi nuovi errori o regressioni.

  1. Correggi Accept. Richiedi un formato realmente supportato.
  2. Invia Content-Type coerente. Distingui il formato richiesto da quello inviato.
  3. Correggi il payload. Rimuovi markup o dati non validi quando possibile.
  4. Richiedi esclusione WAF mirata. Fornisci URL, parametro e rule id.
  5. Aggiorna plugin o API client. Usa versioni compatibili.
  6. Correggi cache e header Vary. Evita rappresentazioni sbagliate.
  7. Mantieni il WAF attivo. Verifica che l’eccezione non permetta input pericolosi.

Domande frequenti

Che cosa significa l’errore 406 Not Acceptable: WAF e contenuti?

In sintesi, gli header Accept, Accept-Language e Accept-Encoding possono influenzare la negoziazione. Tuttavia un 406 durante il salvataggio di testo, codice o form può essere collegato a ModSecurity.

Quali controlli fare per diagnosticare l’errore 406 Not Acceptable: WAF e contenuti?

Controlla header Accept. Confronta browser e client che fallisce.

Guide Xlogic correlate

Fonti tecniche

Errore 406 Not Acceptable: WAF e contenuti ultima modifica: 2026-08-02T16:32:05+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?