如何让Nginx将Server头部设置为上游服务器的对应头部?
让Nginx传递上游服务器的动态Server响应头
要实现Nginx传递上游的动态Server响应头,只需完成两个关键配置:
- 让Nginx转发上游返回的
Server头 - 关闭Nginx自动生成的
Server头
修改后的完整配置如下:
http { log_format custom '{"http_ssl_ja3": "$http_ssl_ja3", "http_ssl_ja3_hash": "$http_ssl_ja3_hash", "remote_addr": "$remote_addr", "request": "$request"}'; # 全局禁用Nginx自带的Server头(也可在单个server块内设置) server_tokens off; server { proxy_busy_buffers_size 512k; proxy_buffers 4 512k; proxy_buffer_size 256k; listen 0.0.0.0:8443 ssl; ssl_protocols TLSv1.3 TLSv1.1 TLSv1.2; ssl_dhparam /etc/nginx/dhparam.pem; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; access_log /dev/stdout custom; ssl_certificate_key "redacted"; ssl_certificate "redacted"; location = / { proxy_pass http://localhost:8080; # 传递上游返回的Server响应头 proxy_pass_header Server; } } }
配置说明
server_tokens off;:关闭Nginx自动添加的Server响应头,避免其覆盖上游返回的动态值。该指令可作用于全局http块,也可仅在特定server块内生效。proxy_pass_header Server;:明确指定Nginx保留并转发上游服务器返回的Server响应头,确保上游的动态头不会被丢弃。
配置完成后,客户端收到的Server头将完全匹配上游返回的动态值(如gunicorn/19.4.5或gunicorn/20.0.4),不再显示Nginx自身的版本信息。
内容的提问来源于stack exchange,提问作者user1601871
相关产品推荐
相关产品推荐

