Nginx反向代理解决超长请求串

Nginx遇到超长的post或get请求时,nginx会反回413、400、414错误。

post和get方式的解决办法:

针对post方式

client_max_body_size 10M;

指定允许客户端请求的最大的单个文件大小,如果请求大于指定的值,客户端将收到一个"413 Request Entity Too Large"错误。

client_body_in_single_buffer 16k;

指定连接请求使用的缓存区大小,如果连接请求超过缓存区指定的值,那么这些请求或部分请求将尝试写入一个临时文件。

client_body_temp_path /data/tmp;

设置临时文件存放路径。只有当上传的请求体超出缓存区大小时,才会写到临时文件中,注意路径要有写入权限。

针对get方式

client_header_buffer_size 8k;

指定客户端请求的http头部缓存区大小,大多数情况下一个头部请求的大小不会大于1k,不过如果有来自于wap客户端的较大的cookie它可能会大于1k,Nginx将分配给它一个更大的缓存区,这个值可以在large_client_header_buffers里面设置。

large_client_header_buffers 16 16k;

如果设置过小HTTP头/Cookie过大时会报400错误"nginx 400 bad request ",如果超过buffer就会报"414 Request URI too large"错误,nginx接受最长的HTTP头部大小必须比其中一个buffer大,否则就会报"nginx 400 bad request "错误。

时间: 2024-09-13 10:17:42

Nginx反向代理解决超长请求串的相关文章

Nginx 反向代理可以缓存 HTTP POST 请求页面吗?

Nginx 反向代理可以缓存 HTTP POST 请求页面吗?  2017-09-05 景峯 Netkiller 本文节选自<Netkiller Web 手札> 作者:netkiller 网站:http://www.netkiller.cn 答案是可以!  因为nginx 使用 url 作为缓存的key ( Nginx 将url地址 md5后作为缓存的 key ),所以默认情况下 Nginx 只能处理 HTTP GET 缓存. 对于 HTTP POST 请求,提交数据放在HTTP Head 头

使用Nginx反向代理实现简单的负载均衡

Nginx反向代理的原理优点: 反向代理可以简单的理解为:代理服务器来接收internet上的服务器请求,然后将请求转发给内部的服务器上,然后将结果返回给internet上请求的客户端,所以代理服务器对外表现出来的只是一台服务器.反向代理服务器也称为Web服务器加速,针对web服务器提供加速功能.他作为代理服务器,并不针对浏览器用户,而是针对一台或者多台特定的web服务器.可以缓存web的页面,降低web服务器的访问量,从而来降低web服务器的负载,实施反向代理,只要将反向代理设备放置在一台或多

Nginx反向代理以及缓存

链接 关于缓存 环境说明 环境搭建 测试 upstream keepalive 健康检查 参考资料 1 链接 个人博客: alex-my.xyz CSDN: blog.csdn.net/alex_my 2 关于缓存 这里使用proxy_cache来实现缓存. 关于fastcgi_cache请看: http://alex-my.xyz/web/Nginx反向代理缓存 Nginx反向代理缓存 proxy_cache配置和fastcgi_cache配置差不多, 所以本文并没有写. 使用proxy_ca

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

详解Nginx反向代理和负载均衡部署指南_nginx

Nginx反向代理和负载均衡部署指南,具体如下: 1.  安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: 2)  解压后复制到部署目录.  2.  启动和停止Nginx Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录. 1) 启动Nginx:start nginx 2)  停止Nginx:nginx -s stop 3)修改配置后重启:ngin

基于CentOS 7配置Nginx反向代理

Nginx作为反向代理服务器被广泛使用在各大互联网企业.它简单易用,可以根据业务的需求将其不同的业务类型代理至不同的服务器,将整个站点请求压力按类型分摊到不同的服务器.该方式使的整个站点请求性能得以极大的提升.本文简要描述了Nginx几种不同情形的代理演示,供大家参考. 一.反向代理及演示环境描述 1.反向代理 在计算机网络中,反向代理是一种代理服务器,代表客户端从一个或多个服务器检索资源.然后将这些资源返回给客户机,就像它们源自Web服务器本身一样.与正向代理相反,正向代理是与其关联的客户端联

【整理】自动的 Nginx 反向代理配置

本文内容参考自< 自动的 Nginx 反向代理配置 >.  个人觉得:名字翻译成<自动化 Nginx 反向代理配置>更为贴切.  [一句话总结] 介绍了如何构建一个能够自动化配置 nginx 反向代理的方式.即将后端服务的部署与前端 nginx 的配置更改进行解耦.  [知识点]  对于 API 的使用者来说所有操作都是在同一个 URL 空间里进行的,而实际上是根据 URL 中不同的顶级"段"来进行路由的. 自动化配置的流程:当增加处理新"段"

tomcat集群-nginx 反向代理三个本地tomcat 负载均衡配置 无法加载js css 图片等 也不报错

问题描述 nginx 反向代理三个本地tomcat 负载均衡配置 无法加载js css 图片等 也不报错 打开速度非常慢,到最后js css无法加载是什么问题 我的项目是ssh+jquery+easyui的 单独访问tomcat完全正常 访问nginx就这样了 .求大神指点啊 访问webapp根目录是可以的 我的页面都是在web-inf目录下的貌似不行 nginx配置如下: #user nobody; worker_processes 1; #error_log logs/error.log;

在Nginx反向代理后面运行Docker

本文讲的是在Nginx反向代理后面运行Docker,[编者的话]想让Docker拥有公共网关,能支持多租户,以及我们期望的安全认证等功能?请看作者通过重新编译Nginx让其像支持Websockets一样支持Docker自带协议来实现该需求. 几周前,我想试试看Docker是如何运行在云/共享宿主机类似的环境中.当时,Docker正好发布了1.4版本,1.4版本带来了额外的安全和身份认证特性,另外Docker machine也可以自动化创建并运行一个远程Docker实例. 共享主机环境通常基于某个