我有一个Nginx websocket反向代理,我想隐藏客户端请求中的HTTP头。
proxy_hide_header隐藏服务器响应标头,不能用于隐藏客户端请求标头。
我想这样做是因为nginx后面的websocket服务器与websocket扩展“permessage-deflate”不兼容,所以我想从客户端请求中删除Sec-WebSocket-Extensions头。
答案 0 :(得分:19)
official documentation解释了删除客户端请求标头的正确方法:
如果标题字段的值为空字符串,则该字段不会传递给代理服务器:
proxy_set_header Accept-Encoding "";
如果不清楚,这不仅仅是掩盖价值的一种解决方法;整个标题将被删除。
答案 1 :(得分:12)
您可以将标头值设置为void,Nginx会将其删除:
proxy_set_header Sec-WebSocket-Extensions "";