多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 缓冲区 作用:我们在代理服务往后端真实的服务器上转发请求的时候,往往接收到的是请求的头信息.当我们把这个配置打开,那么服务器将接受完整个请求然后再返回给客户端 .优点就是减少了频繁的IO损耗. 当打开此选项后,请求默认是存储在内存中的,当内存不够就会存在硬盘的临时文件目录下.扩展的几个选项就是控制相关proxy_buffer_size的大小. ~~~ Syntax:proxy_buffering on|off; Default:proxy_buffering on; Context:http,server,location ~~~ 扩展:proxy_buffer_size,proxy_buffers,proxy_busy_buffers_size ### 跳转重定向 作用:当我们用Nginx作为代理服务器去代理后端服务,返回的是一个301的重定向的地址的时候,它会把我们的请求重定向到另外一个地址中去,返回给客户端(前端无法世界访问到 ). ~~~ Syntax:proxy_redirect default;proxy_redirect off;proxy_redirect redirect replacement; Default:proxy_redirect default; Context:http,server,location ~~~ ### 头信息 作用:在我们把Nginx作为代理服务器,但是后端的真实服务器是需要读取头信息的.这些头信息是不准确的 . 在发给真实服务器的时候携带对应的一个头,把对应的信息用新的头携带到后端,让后端可以读取到. ~~~ Syntax:proxy_set_header field value; Default :proxy_set_header Host $proxy_host;proxy_set_header Connection close; Context:http,server,location; ~~~ 扩展:proxy_hide_header,proxy_set_body ### 超时 作用: Nginx作为代理到后端真实服务器中的一个连接超时,就是TCP的请求连接超时. ~~~ Syntax:proxy_connection_timeout time; Default :proxy_connection_timeout 60s; Context:http,server,location; ~~~ 扩展:proxy_read_timeout,proxy_send_timeout ### 常用代理配置 ~~~ location / { proxy_pass http://127.0.0.1:8080; //代理端口 proxy_redirect default; //常常配置成默认就行了 proxy_set_header Host $http_host; //转发代理的host头信息 proxy_set_header X-Real-IP $remote_addr; //转发代理的真实IP地址信息 proxy_connect_timeout 30; //TCP请求的超时时间 proxy_send_timeout 60; //发送超时 proxy_read_timeout 60; //读取超时 proxy_buffer_size 32k; //缓冲区大小 proxy_buffering on; //Nginx等待代理服务器全部的响应信息再次发给客户端 proxy_buffers 4 128k; proxy_busy_buffers_size 256k; //buffers大小 proxy_max_temp_file_size 256k; //buffers临时文件大小 } ~~~ 使用Nginx -V查看设置的临时文件位置 ~~~ --http-proxy-temp-path=/var/cache/nginx/proxy_temp ~~~ 这些代理配置项可能需要配置很多组,可以将这些配置项单独放在一个文件内,然后使用include包含进来 . 将此文件proxy_params放在/etc/nginx/文件夹下. ~~~ location / { proxy_pass http://127.0.0.1:8080; include proxy_params; } ~~~