2012-08-15 13 views
19

Ich verwende zwei System (beide sind Nginx Load Balancer und ein Akt als Backup). Ich möchte einige benutzerdefinierte HTTP-Header hinzufügen und verwenden. Bitte geben Sie Ihren VorschlagHinzufügen und Verwenden von Header (HTTP) in Nginx

zB

upstream upstream0{ 
      #list of upstream servers 
      server backend:80; 
      server backup_load_balancer:777 backup; 
      #healthcheck 
    } 

    server{ 
     listen 80; 
     #Add custom header about the port and protocol (http or https) 
     server_name  _; 
     location/{ 
       proxy_pass "http://upstream0;#" is included since links are not allowed in the post 
     } 

    } 

// Backup-System

server{ 
     listen 777; 
     server_name  _; 
     #doing some other extra stuf 

     #use port and protocol to direct 
} 

Dank

Antwort

51

einen Header fügen Sie einfach den folgenden Code zu dem Ort Block hinzufügen, wo Sie hinzufügen möchten die Überschrift:

location some-location { 
    add_header X-my-header my-header-content;  
} 

Ersetze natürlich den x-my-header und den my-header-content mit dem, was du hinzufügen willst. Und das ist alles.

+0

Danke. Wie lese ich es in meinem anderen Zuhörer? – mohan

+2

die Variablen $ http_HEADER und $ send_http_HEADER erlauben den Zugriff auf den Inhalt eines Headers in nginx siehe http://wiki.nginx.org/HttpCoreModule#Variables – cobaco

+0

Funktioniert 'add_header', wenn' proxy_pass' verwendet wird? Diese Frage scheint ihr zu widersprechen: http://stackoverflow.com/questions/14501047/how-to-add-a-response-header-on-ninx-when-using-proxy-pass –

5

Sie können Upstream-Header (benannt, beginnend mit $ http_) und zusätzliche benutzerdefinierte Header verwenden. Zum Beispiel:

add_header X-Upstream-01 $http_x_upstream_01; 
add_header X-Hdr-01 txt01; 

nächsten, gehen Sie zu trösten und Anforderung mit Benutzer-Header zu machen:

curl -H "X-Upstream-01: HEADER1" -I http://localhost:11443/ 

die Antwort enthält X-Hdr-01, seted von Server und X-Upstream-01, seted durch Kunde:

HTTP/1.1 200 OK 
Server: nginx/1.8.0 
Date: Mon, 30 Nov 2015 23:54:30 GMT 
Content-Type: text/html;charset=UTF-8 
Connection: keep-alive 
X-Hdr-01: txt01 
X-Upstream-01: HEADER1 
Verwandte Themen