Opened 5 years ago

Closed 2 years ago

#1987 closed defect (fixed)

underscores_in_headers directive seems to be specific to each server block

Reported by: ken.russo6.com@… Owned by:
Priority: minor Milestone:
Component: documentation Version: 1.17.x
Keywords: Cc: ken.russo6.com@…
uname -a: Linux testenv-b4ea4347-data-1.indigo.test 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.17.9 (nginx-plus-r21)
built by gcc 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
built with OpenSSL 1.1.1 11 Sep 2018
TLS SNI support enabled
configure arguments: --build=nginx-plus-r21 --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_jwt_module --with-http_auth_request_module --with-http_dav_module --with-http_f4f_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_hls_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_session_log_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-plus-1.17.9/debian/debuild-base/nginx-plus-1.17.9=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'

Description

The following comment:
If the directive is specified on the server level, its value is only used if a server is a default one. The value specified also applies to all virtual servers listening on the same address and port.

found in:
http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers seems to indicate that the underscores_in_headers directive can only be used at the server block level if the server block is the default server. Our testing seems to show it can be used for any server block and only affects that particular server block. Is this comment maybe an old comment for a previous version of NGINX+?

Change History (2)

comment:1 by Maxim Dounin, 5 years ago

The comment is an inaccurate attempt to explain that underscores_in_headers should not be relied on in non-default virtual servers, as the value from the default server block might still apply when parsing a particular header, see ticket:1523#comment:4 for details.

comment:2 by Maxim Dounin, 2 years ago

Resolution: fixed
Status: newclosed

Documentation is updated to better address this in c56adb7148a4/nginx_org and 691de23367a7/nginx_org. Thanks to all involved.

Note: See TracTickets for help on using tickets.