Добавление и использование заголовка (HTTP) в nginx
Я использую две системы (оба являются балансировщиком нагрузки nginx и один действует как резервная копия). Я хочу добавить и использовать несколько пользовательских заголовков HTTP. Пожалуйста, дайте ваше предложение
Эл.г
  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
        }
   }
//резервной системы
server{
        listen  777;
        server_name     _;
        #doing some other extra stuf
        #use port and protocol to direct
}
спасибо
2 ответов
добавить заголовок, просто добавьте следующий код в блок месте, где вы хотите добавить заголовок:
location some-location {
  add_header X-my-header my-header-content;      
}
очевидно, замените x-my-header и my-header-content тем, что вы хотите добавить. И в этом все дело.
вы можете использовать восходящие заголовки (с именем, начинающимся с $http_) и дополнительные пользовательские заголовки. Например:
add_header X-Upstream-01 $http_x_upstream_01;
add_header X-Hdr-01  txt01;
далее перейдите в консоль и сделайте запрос с заголовком пользователя:
curl -H "X-Upstream-01: HEADER1" -I http://localhost:11443/
ответ содержит X-Hdr-01, установленный сервером и X-Upstream-01, установленный клиентом:
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