不记录指定文件类型的日志server{ listen 80; server_name www.test1.com www.aaa1.com www.bbb1.com; if ($host != 'www.test1.com') {&
本人未测试过,保存以后使用。 ngx_lua_waf是我一个基于ngx_lua的web应用防火墙。代码很简单,开发初衷主要是使用简单,高性能和轻量级。现在开源出来.其中包含我们的过滤规则。如果大家有什么建议和想fa,欢迎和我一起完善。用途:用于过滤post,get,cookie方式常见的web攻击防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击防止sv
http://shouce.jb51.net/nginx/left.html
nginx做反向代理时不想暴露404等其他错误,这里用到httpproxy模块的proxy_intercept_errors功能,语法如下proxy_intercept_errors语法:proxy_intercept_errors [ on|off ] 默认值:proxy_intercept_errors off 使用字段:http, server, location&nbs
set_real_ip_from 172.16.100.120; #haproxy 的IP地址
set_real_ip_from
首先看一个完整代码示例,关于nginx 301 302跳转的。301跳转设置:server {
listen 80;
server_name 123.com;
rewrite ^/(.*) http://456.com/$1 permanent;
access_log off;
}302跳转设置:server {
li
下载openssl-0.9.8zh.tar.gz、zlib-1.2.8.tar.gz、pcre-8.31.tar.gz、nginx-1.9.9.tar.gz。解压缩:tar -xvzf openssl-0.9.8zh.tar.gztar -xvzf zlib-1.2.8.tar.gztar -xvzf pcre-8.31.tar.gztar -xvzf ng
优点:Expires可以降低网站购买的带宽,节约成本,同时提升了用户访问体验,减轻服务器的压力,是web服务非常重要的功能。缺点:被缓存的页面或数据更新了,用户看到的可能还是旧的内容,反而影响用户体验。解决办法:一、缩短缓存时间,例如:1天,除非更新频率大于1天。二、对缓存的对象改名。 图片,附件一般不会被用户修改,如果用户修改了,实际上也就是更改文件名重新传了而已。&n
puppet(2) Metaparamters: 多个彼此间均存在先后次序的资源,可使用“->”,定义为次序链的形式:Package['nginx'] -> File['/etc/nginx/conf.d/default.conf'] -> Service['nginx'] 多个彼此间均存在先后次序的资源,可使用“~>”,定义为通
nginx 防盗链一、针对不同的文件类型location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ { //表示对wma、wmv、asf、mp3、mmf、zip、rar、jpg、gif、png、swf、flv后缀的文件实行防盗链 valid_referers none blo
常用的资源类型: notify, cron, exec, service, file, package, group, user(1) notify:利用puppet定义一个信息。 message:通知的信息内容notify {'warning':
message=> "From warning notify resource.",
nginx 虚拟主机include /usr/local/nginx/conf/vhosts/*.conf;Server{listen 80; //服务器监听端口server_name localhost; //服务器IP地址或域名location / {root /opt/html/ //网页根目录index index.html index.h
1.LVS/DR 搭建的不足及解决方法 前面的lvs虽然已经配置成功也实现了负载均衡,但是我们测试的时候发现,当某台real server把httpd进程停掉,那么director照样会把请求转发过去,这样就造成了某些请求不正常。所以需要有一种机制用来检测real server的状态,这就是keepalived。它的作用除了可以检测rs状态外,还可以检测备用directo
初识nginx,希望编一个hello world的小模块挂上去运行,在准备好.c和config文件后,走一下三步:./configuremakemake install因为代码本身很简单,config也就是固定内容,但在修改nginx.conf(添加对应的location section)后运行却死活过不去,仔细检查后发现,原来是 configure的时候prefix指定有误,这个pr
Nginx+FastCGI运行原理1:http://blog.sina.com.cn/s/blog_4d8cf3140101pa8c.html; Nginx+FastCGI运行原理2:http://blog.sina.com.cn/s/blog_4d8cf3140101pa8i.html;
安装编译工具及库文件(使用yum命令安装) yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk
[javascript] view plaincopy#用户 用户组 user www www; #工作进程,根据硬件调整,有人说几核cpu,就配几个,我觉得可以多一点 worker_processes 5; #错误日志 error_log
在Nginx上配置图片防盗链非常简单,通过用户客户端http请求头中的Referer信息来做为主要判断,如果图片链接嵌套在非指定的网站上,可以限制其访问。主要配置代码如下:location ~*\.(gif|jpg|jpeg|png|bmp|swf)$ { valid_referers none blocked *.yourn
最近准备用nginx搭建了一个图片服务器,看中的就是nginx超强的静态文件处理能力。由于图片量比较大,和web服务器(也是nginx)分开运行,虽然web服务器调用图片没用问题,但毕竟是远程调用,肯定没有本地文件系统那么快,因此仍然有优化的空间。使用前的nginx配置12345location ~* ^.+\.(js|ico|gif|jpg|jpeg|png|html|htm)$ {
前文所讲,taskset 能为进程绑定CPU,但毕竟是事后的绑定,nginx 能够在软件内部实现该功能。本来淘宝的tengine很好的解决了这个问题,一行搞定1worker_cpu_affinity auto;但是无奈编译tengine+ pagespeed 失败,只好研究一下nginx的绑定办法以四核CPU 为例,CPU 编号分别是10001 0010 0100&n
直接将nginx的版本号修改成主机标识(比如IP末位),这样既隐藏了版本号,又增加了排障效率。具体办法是修改nginx的源码 src/core/nginx.h,源文件如下123456789101112/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */#ifndef _NGINX_H_INCLUDE
分析nginx日志的时候,比较头疼的是有许多蜘蛛爬虫的痕迹。鉴于多数蜘蛛爬虫都是叫xx-bot或者xx-spider,下面的方法可以给爬虫单独写日志:12345location / { if ($http_user_agent ~* "bot|spider") { access_log&
灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。nginx 的语法本身可以看作是一门小型的编程语言,通过简单的编程,可以轻松实现基于IP的灰度发布。需求:搭建准生产环境,供开发人员/运维在线上做最后的调整。如果OK,直接用rsync推送至生产环境。条件:办公室网络出口有固定IP解决办法:nginx 负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到准