在nginx中添加和使用头文件(HTTP)[已关闭]

pcrecxhr  于 2022-11-02  发布在  Nginx
关注(0)|答案(2)|浏览(191)

**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site相关,您可以留下评论,说明在何处可以找到此问题的答案。
三年前就关门了。
机构群体在5个月前审核了是否重新讨论此问题,并将其关闭:
原始关闭原因未解决
Improve this question
我正在使用两个系统(都是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 / {
        # is included since links are not allowed in the post
        proxy_pass "http://upstream0;"
    }
}

备份系统

server {
    listen 777;
    server_name _;
    #doing some other extra stuff
    #use port and protocol to direct
}

我怎么才能做到呢?

kr98yfug

kr98yfug1#

要添加头,请将add_header声明添加到location块或server块:

server {
   add_header X-server-header "my server header content!";
   location /specific-location {
       add_header X-location-header "my specific-location header content!";
   }
}

location块中的add_header声明将覆盖外部server块中的 * 相同 * add_header声明。例如,如果location包含add_header X-server-header ...,则将覆盖该路径位置的外部声明。
显然,用你想添加的值替换这些值,这就是全部。

inkz8wg9

inkz8wg92#

您可以使用上游信头(以$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

相关问题