我在上游设置了一个非常具体的Server:
标头,但是,当Nginx是反向代理时,它会设置自己的Server标头。例如,Server
标头设置为Server: nginx/1.23.1
。上游服务器标头是动态的,可以更改每个请求(例如:Server: gunicorn/19.4.5
或Server: gunicorn/20.0.4
)。是否有办法将上游的Server
报头传递到nginx,以便设置上游如何发送它?我知道有more_set_headers
,但它将报头设置为静态值。我需要它们特别是动态的,基于上游proxy_pass
如何设置它们。
示例配置:
http {
log_format custom '{"http_ssl_ja3": "$http_ssl_ja3", "http_ssl_ja3_hash": "$http_ssl_ja3_hash", "remote_addr": "$remote_addr", "request": "$request"}';
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;
}
}
}
1条答案
按热度按时间cwxwcias1#
我想明白了。你可以通过指定
proxy_pass_header Server;
来传递特定的头。现在正在代理正确的头。