Nginx add_header untuk halaman 50 *


19

Saat ini saya mencoba untuk mendapatkan nginx untuk menambahkan header ke respons ketika mengirim semacam 50 * kesalahan. Saya sudah memiliki arahan add_header di blok http, dan itu akan dihormati untuk semua permintaan kecuali tampaknya kesalahan. Saya juga mencoba yang berikut ini di salah satu vhosts saya:

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

Pergi ke halaman itu memberi saya 502, tetapi tidak ada header. Apakah ini hanya sesuatu yang nginx tidak lakukan, atau saya salah melakukannya?


Bisakah Anda memposting output $ curl -I <url> // mediocregopheristhecoolest
Chida

Jawaban:


21

Dokumentasi menyatakan bahwa add_header "Menambahkan bidang yang ditentukan ke header respons asalkan kode respons sama dengan 200, 204, 206, 301, 302, 303, 304, atau 307. Nilai dapat berisi variabel." Jadi itu tidak bekerja dengan 502.

Saya lupa menambahkan bahwa Anda dapat menggunakan modul header pihak ketiga lainnya untuk menambahkan header ke kode lain. Anda mungkin harus mengkompilasi ulang untuk menambahkannya.


Lihat komentar marat: versi nginx baru mendukung pengaturan tajuk terlepas dari kode respons
Laurens Rietveld

44

Karena Nginx 1.7.5 dapat Anda gunakan alwaysuntuk menambahkan tajuk terlepas dari kode respons:

add_header X-Test "blahblahblah" always;

1
Frustasi, versi dalam repositori Debian saat ini sudah usang (1.6.x), tetapi nginx mempertahankan repositori mereka sendiri dengan build stabil terbaru (1.8.x sekarang).
kungphu

Jika Anda ingin meng-upgrade sistem debian sudah bekerja, backports debian lebih aman ... packages.debian.org/jessie-backports/httpd/nginx The hulu penggunaan paket organisasi paket yang berbeda (dapat menyebabkan beberapa downtime bukan halus nginx meng-upgrade mekanisme ). Dan skrip postrmnya menghapus log. Dan beberapa perbedaan kecil lainnya ...
Lajos Veres
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.