J'essaie actuellement d'obtenir que nginx ajoute un en-tête à la réponse lorsqu'il envoie une sorte d'erreur 50 *. J'ai déjà une directive add_header sur le bloc http, et qui est respectée pour toutes les demandes, sauf qu'il semble que des erreurs. J'ai également essayé ce qui suit dans l'un de mes vhosts:
location /mediocregopheristhecoolest {
add_header X-Test "blahblahblah";
return 502;
}
Aller à cette page me donne un 502, mais pas d'en-tête. Est-ce simplement quelque chose que nginx ne fait pas, ou est-ce que je le fais mal?
nginx
http-headers
500-error
Gopher médiocre
la source
la source
Réponses:
La documentation indique que add_header "ajoute le champ spécifié à un en-tête de réponse à condition que le code de réponse soit égal à 200, 204, 206, 301, 302, 303, 304 ou 307. Une valeur peut contenir des variables." Cela ne fonctionne donc pas avec un 502.
J'ai oublié d'ajouter que vous pouvez utiliser le module plus d'en-têtes tiers pour ajouter des en-têtes à d'autres codes. Vous devrez probablement recompiler pour l'ajouter, cependant.
la source
Depuis Nginx 1.7.5, vous pouvez utiliser
always
pour ajouter un en-tête quel que soit le code de réponse:la source