nginx自定义标头验证

时间:2019-02-01 08:49:08

标签: nginx

我正在尝试评估某些位置的标头值。像这样:

location /risksecretspoc {
    set my_header $http_MY_CUSTOM_HEADER;
    if($my_header != 'some-value') {
        return 403;
    }
    proxy_set_header    Host riskservicesdev.mydomain.co.za;
    proxy_pass          https://rsk-generic-dev.mydomain.co.za;
}

我得到的错误是: nginx:/etc/nginx/nginx_default.conf:17

中的[emerg]变量名称“ my_header”无效

1 个答案:

答案 0 :(得分:0)

您首先必须在标题中启用下划线

underscores_in_headers on;

然后您可以比较自定义标题

location /risksecretspoc {
    if ( $http_my_custom_header != 'some-value' ) {
        return 403;
    }
    proxy_set_header    Host riskservicesdev.mydomain.co.za;
    proxy_pass          https://rsk-generic-dev.mydomain.co.za;
}

if后的空格很重要!