私は現在、nginxが何らかの50 *エラーを送信しているときに、応答にヘッダーを追加するようにしています。 httpブロックにadd_headerディレクティブがすでにあり、エラーのように見える場合を除いて、すべてのリクエストで尊重されます。私はvhostsの1つでも以下を試しました:
location /mediocregopheristhecoolest {
add_header X-Test "blahblahblah";
return 502;
}
そのページに移動すると、502が表示されますが、ヘッダーは表示されません。これは単にnginxがしないことですか、それとも私はそれを間違っていますか?
ドキュメント は、add_header "応答コードが200、204、206、301、302、303、304、または307の場合に、指定されたフィールドを応答ヘッダーに追加することを示しています。値には変数を含めることができます。 」したがって、502では機能しません。
サードパーティ headers more モジュールを使用して他のコードにヘッダーを追加できることを忘れてしまいました。ただし、追加するには再コンパイルする必要があります。
Nginx 1.7.5以降では、always
を使用して、応答コードに関係なくヘッダーを追加できます。
add_header X-Test "blahblahblah" always;