Добавление и использование заголовка (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
}
Спасибо
1 ответ
Решение
Если вы хотите добавить заголовки, то вы хотите что-то вроде этого:
server {
listen 80;
server_name _;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Frame-Options sameorigin;
add_header X-UA-Compatible "IE=Edge,chrome=1";
add_header X-Your-Port-Header-Here $server_port;
add_header X-Your-Protocol-Header-Here $scheme;
set $yourcustomheader $scheme$server_port;
add_header X-Your-Custom-Header $yourcustomheader;
location / {
proxy_pass http://upstream0;
}
}
Вы можете ссылаться на следующие переменные в Nginx. Если вышеприведенное не обеспечивает достаточной гибкости, взгляните на модуль HttpHeadersMore, но обратите внимание, что он не предоставляется в большинстве стандартных дистрибутивов Nginx, поэтому вам, возможно, придется скомпилировать его самостоятельно. Если вы используете Debian, вы можете найти его в пакете nginx-extras от Dotdeb.