Articles in the category of nginx

nginx

963.png

if (!-e $request_filename) 是判断文件是否存在,如果不存在就进行rewrite重写。网上大多数配置方式,这里都变成了无条件重写,曾经自己也坑在这里,甚至用了奇葩的方式去临时处理。指定某些后缀名的不做rewrite重写,类似如下。rewrite ^/(?!.jpg)(?!.php)(?!.css)(?!.js)(?!upload)(.*)$ /index.php/$1 last; 也曾怀疑和搜索为什么文件明明存在,还要被重写。原因是 if (!-e $request_filename) 和 root要在一个配置层级,如果在location /{}里的root写...

- Read More -
nginx,linux

今天一朋友要帮忙他看一下他的服务器流量使用情况,他服务器也没安装zabbix等监控软件,只能通过日志分析了。WEB日志由于没有分割,是快一个月的,巨大,先进行分割再统计。cat bb.log | awk -F ' ' '{split($4,array,"[");if(array[2]>="02/Jul/2019:20:37:10" && array[2]<="04/Jul/2019:16:39:48")print $0}' > cc.log cat cc.log | awk -F ' ' '...

- Read More -
nginx

由于nginx配置不支持嵌套if的写法,也不支持and or 这些写法,通过变相方式实现。以下场景是,域名绑定了泛域名,要求如果域名是*.city.domain.com 就禁止post ,如果不是就全部允许set $refuse_post 0; if ( $host ~* (.*)\.city\.(.*) ) { set $refuse_post "${refuse_post}1"; } if ( $request_method = POST ) { set $refuse_post "${refuse_post}2&quo...

- Read More -
nginx

#如果上游用giz压缩,需要以下配置,否则subs_filter会失效替换不到 proxy_set_header Accept-Encoding ""; proxy_pass http://192.168.0.3; #subs_filter字符替换 subs_filter 'jingjia.aaa.cn' 'zt.bbb.cn/jingjia'; #subs_filter正则替换 subs_filter "show\_(.+?)\.html" "$1" gir; 早前写过一次 lua改写nginx querystring参数内容...

- Read More -
nginx,技巧

google浏览器 此网站无法提供安全连接 ERR_SSL_PROTOCOL_ERRORfirefox浏览器 SSL_ERROR_RX_RECORD_TOO_LONGnginx-1.15.5 版本配置https,不再需要ssl on;端口监听要写成 listen 443 ssl; 而不能像旧版本写 listen 443;,其它的不变。不然会报这个错误。官方日志如下:Changes with nginx 1.15.0 05 Jun 2018 *) Change: the "ssl" ...

- Read More -
nginx,linux,一键脚本

场景:几十个站点迁移过来,懒得一一配置,索性来个遍历目录下的二级文件夹自动创建成nginx站点配置文件完成站点部署。业务中除了获取目录名,还有排除已有,使用一个已有的标准配置来生成N多其它配置。cd到nginx/conf下,创建脚本addsite.shflorder='/disk2/ftp' dir=$(ls -l $florder |awk '/^d/ {print $NF}') for i in $dir do if [ "$i" != 'p7zip_16.02' -a "$i" != 'img.isres.com' -a "...

- Read More -
nginx

nginx一般做代理服务器较多,大多数缓存都是proxy cache,偶尔有些架构是nginx+php组合的,其缓存就是另一种fastcgi cache.配置http段:fastcgi_cache_path /dev/shm/nginx_cache levels=2:2 keys_zone=cgi_one:10m inactive=2d max_size=10g; fastcgi_ignore_headers Cache-Control Expires Set-Cookie ; server段set $skip_cache 0; if ($request_method = POST) {...

- Read More -
This is just a placeholder img.