我使用两个系统(两个都是 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 中的变量。如果以上内容不能为您提供足够的灵活性,请查看HttpHeaders更多模块,但请注意不是大多数标准 Nginx 发行版都提供此软件包,因此您可能需要自行编译。但是,如果您使用 Debian,则可以在nginx-extras包裹来自多特德布。