nginx+lua-请求body过大导致get_post_args()无法获取到参数
技术前沿 Nginx

nginx+lua-请求body过大导致get_post_args()无法获取到参数

xiaole阅读(449)

本文描述 nginx + lua 解析 http 报文参数并计算文件md5的详细解决方法。其中包括解析http 报文参数,计算上传文件md5,并解决了当请求body 大于client_body_buffer_size导致ngx.req.get_post_args()无法获取到参数的问题。问题:request body 大于client_body_buffer_size,导致ngx.req.get_post_args()无法获取到参数。原因分析:当post请求body size大于client_b...

nginx-lua重置请求参数及常量
奇淫妙想 Nginx

nginx-lua重置请求参数及常量

xiaole阅读(876)

获取请求参数local strider = ngx.var.arg_strider local strider = ngx.req.get_uri_args["strider"]当请求uri中有多个同名参数时,ngx.var.arg_xx的做法是取第一个出现的值,ngx.req_get_uri_args["xx"]的做法是返回一个table,该table里存放了该参数的所有值重置参数local args = ngx.req.get_uri_args() args["...

Nginx限流
Nginx

Nginx限流

xiaole阅读(1537)

Nginx官方版本限制IP的连接和并发分别有两个模块:limit_req_zone 用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 “leaky bucket”limit_req_conn 用来限制同一时间连接数,即并发限制其中limit_req_conn模块可以根据源IP限制单用户并发访问的连接数或连接到该服务的总并发连接数http{ #定义IP的session大小 limit_zone one $binary_remote_addr 20m; #定...

nginx的fastcgi_cache缓存
Nginx

nginx的fastcgi_cache缓存

xiaole阅读(962)

proxy_cache的作用是缓存后端服务器的内容,包括静态的和动态。另一文章fastcgi_cache的作用是缓存fastcgi生成的内容,很多情况是php生成的动态的内容。proxy_cache缓存减少了nginx与后端通信的次数,节省了传输时间和后端宽带。fastcgi_cache缓存减少了nginx与php的通信的次数,更减轻了php和数据库(mysql)的压力,这比用memcached之类的缓存要轻松得多。$uri 和  $request_uri结果可能不一样(譬如伪静态,需...

Tengine合并JS的时候提示400解决方法
Nginx

Tengine合并JS的时候提示400解决方法

xiaole阅读(1089)

Tengine合并CSS正常合并,但是合并JS的时候,部分服务器会提示400错误其实解决方法很简单,找到源码包中的,src/http/modules/ngx_http_concat_module.c 将里面的application/x-javascript更改为application/javascript再重新编译安装就能解决问题...

Nginx支持多域名ssl证书
Nginx

Nginx支持多域名ssl证书

xiaole阅读(1018)

详细过程: 升级更改完nginx配置文件以后,使用/usr/local/nginx/sbin/nginx  -t测试配置文件没有问题,就采用/usr/local/nginx/sbin/nginx  -s reload重新加载配置文件,输入新域名的https访问竟然出现错误证书的提示,左键点击证书错误,选择查看证书,发现用的是另外一个域名的证书。反复检查后错误依旧。心中转念一想:是不是nginx只支持一个证书?带着这个问题,在baidu和google上搜索了一下,还真的是这个问...

Nginx内置变量
Nginx

Nginx内置变量

xiaole阅读(1256)

Nginx提供了很多内置的变量,如:$arg_PARAMETER  这个变量包含在查询字符串时GET请求PARAMETER的值。$args  这个变量等于请求行中的参数。$binary_remote_addr  二进制码形式的客户端地址。$body_bytes_sent  传送页面的字节数$content_length  请求头中的Content-length字段。$content_type  请求头中的Content-Type字段。$...

Nginx高速图片缓存服务器构架
Nginx

Nginx高速图片缓存服务器构架

xiaole阅读(1286)

一、 同样安装nginx和ngx-purge(参考这个文章)如果是centos最小安装 可参考以下命令yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel gcc make -y自己下载nginx安装包和ngx_cache_purge安装nginx前先自己新建用户wwwuseradd www配置成功后Confi...

Nginx之URL重写
Nginx

Nginx之URL重写

xiaole阅读(1338)

这个模块允许使用正则表达式重写URI(需PCRE库),并且可以根据相关变量重定向和选择不同的配置。如果这个指令在server字段中指定,那么将在被请求的location确定之前执行,如果在指令执行后所选择的location中有其他的重写规则,那么它们也被执行。如果在location中执行这个指令产生了新的URI,那么location又一次确定了新的URI。这样的循环可以最多执行10次,超过以后nginx将返回500错误。break语法:break  默认值:none  使用字...

nginx负载均衡反向代理cache浅谈(转载)
Nginx

nginx负载均衡反向代理cache浅谈(转载)

xiaole阅读(1172)

nginx只有硬盘级别cache,没有内置内存级别的cache,如果想利用内存加速,只能将/dev/shm挂载到文件系统,再将这个目录作为cache的目录。  nginx一般做cache有以下5种办法:1:这个办法是把nginx的404错误定向到后端,然后用proxy_store把后端返回的页面保存。2:也是利用proxy_store,这里利用if判断cache目录是否有文件,没有的话从后端取,取回来后发送给用户并且自身用proxy_store保存起来#这2种办法其实原理都差不多,只是...