使用 Nginx 反向代理服务器隐藏客户端请求 header
Hide a client request header with a Nginx reverse proxy server
我有一个 Nginx websocket 反向代理,我想从客户端请求中隐藏一个 HTTP header。
proxy_hide_header 隐藏服务器响应 headers 并且不能用于隐藏客户端请求 headers.
我想这样做是因为 nginx 后面的 websocket 服务器不能很好地与 websocket 扩展一起工作 "permessage-deflate" 所以我想从客户端删除 Sec-WebSocket-Extensions header请求。
您可以将 header 值设置为 void,Nginx 将丢弃它:
proxy_set_header Sec-WebSocket-Extensions "";
official documentation 解释了删除客户端请求的正确方法header:
If the value of a header field is an empty string then this field will not be passed to a proxied server:
proxy_set_header Accept-Encoding "";
以防万一,这不仅仅是掩盖该值的解决方法;整个 header 将被丢弃。
我有一个 Nginx websocket 反向代理,我想从客户端请求中隐藏一个 HTTP header。
proxy_hide_header 隐藏服务器响应 headers 并且不能用于隐藏客户端请求 headers.
我想这样做是因为 nginx 后面的 websocket 服务器不能很好地与 websocket 扩展一起工作 "permessage-deflate" 所以我想从客户端删除 Sec-WebSocket-Extensions header请求。
您可以将 header 值设置为 void,Nginx 将丢弃它:
proxy_set_header Sec-WebSocket-Extensions "";
official documentation 解释了删除客户端请求的正确方法header:
If the value of a header field is an empty string then this field will not be passed to a proxied server:
proxy_set_header Accept-Encoding "";
以防万一,这不仅仅是掩盖该值的解决方法;整个 header 将被丢弃。