nginx反向代理,隐藏服务IP

时间:2025-04-26 19:31:24

1.配置添加如下代理设置:

proxy_connect_timeout 300s; 
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_buffer_size 64k; 
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_ignore_client_abort on;

各字段说明

proxy_set_header 设置由后端的服务器获取用户的主机名或者真实的IP地址,以及代理者的真实IP地址。
client_body_buffer_size 用户指定客户端请求主体缓冲区大小,可以理解为先保存到本地再上传给用户。
proxy_send_timeout 表示后端服务器的数据回传时间,即在规定时间之内后端服务器必须传完所有的数据,否则,nginx将断开这个连接。
proxy_read_timeout 设置nginx从代理的后端服务器获取信息的使劲按,表示连接建立成功后,nginx等待后端服务器的响应时间,其实是nginx已经进入后端的排队之中等候处理的时间。
proxy_buffer_size 设置缓冲区大小,默认,该缓冲区大小等于指令proxy_buffers 设置的大小
proxy_buffers 设置缓冲区的数量和大小。nginx从代理的后端服务器获取的响应信息、会放置到缓冲区
proxy_busy_buffers_size 用于设置系统很忙时可以使用的proxy_buffers大小,官方推荐的大小为proxy_buffers*2。
proxy_temp_file_write_size 指定proxy缓存临时文件的大小

2.在相关代理服务端配置如下:重启服务器就好

        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X–Real–IP $remote_addr;
        proxy_set_header X–Forwarded–For $proxy_add_x_forwarded_for;
        proxy_set_header X-Scheme $scheme;
        #proxy_pass $scheme://proxy_location$request_uri;
        proxy_pass http://localhost:9292;

3.如果设计websocket,新添加

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

4 隐藏nginx版本信息,在里面增加

server_tokens off