Nginx add_header per una pagina 50 *


19

Attualmente sto cercando di ottenere nginx per aggiungere un'intestazione alla risposta quando sta inviando un qualche tipo di errore 50 *. Ho già una direttiva add_header sul blocco http, che viene rispettata per tutte le richieste tranne che sembra errori. Ho anche provato quanto segue in uno dei miei host:

location /mediocregopheristhecoolest {
    add_header X-Test "blahblahblah";
    return 502;                                                                                                    
}       

Andare a quella pagina mi dà un 502, ma nessuna intestazione. È semplicemente qualcosa che nginx non fa o sto sbagliando?


Potresti pubblicare l'output di $ curl -I <url> // mediocregopheristhecoolest
Chida

Risposte:


21

La documentazione afferma che add_header "Aggiunge il campo specificato a un'intestazione di risposta a condizione che il codice di risposta sia uguale a 200, 204, 206, 301, 302, 303, 304 o 307. Un valore può contenere variabili." Quindi non funziona con un 502.

Ho dimenticato di aggiungere che è possibile utilizzare il modulo più intestazioni di terze parti per aggiungere intestazioni ad altri codici. Tuttavia, probabilmente dovrai ricompilare per aggiungerlo.


Vedi il commento di Marat: la nuova versione di nginx supporta l'impostazione dell'intestazione indipendentemente dal codice di risposta
Laurens Rietveld

44

Da Nginx 1.7.5 è possibile utilizzare alwaysper aggiungere un'intestazione indipendentemente dal codice di risposta:

add_header X-Test "blahblahblah" always;

1
Frustrantemente, la versione nei repository di Debian è attualmente obsoleta (1.6.x), ma nginx mantiene il proprio repository con l'ultima build stabile (1.8.x in questo momento).
Kungphu,

Se si desidera aggiornare un sistema Debian già al lavoro, backport Debian è più sicuro ... packages.debian.org/jessie-backports/httpd/nginx La diversa organizzazione pacchetto di uso pacchetto monte (può provocare dei tempi di inattività al posto del meccanismo di lisciare nginx aggiornare ). E il suo script postrm rimuove i registri. E un paio di altre piccole differenze ...
Lajos Veres,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.