在 nginx 中添加和使用标头(HTTP)

在 nginx 中添加和使用标头(HTTP)

我使用两个系统(两个都是 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包裹来自多特德布

相关内容