标签:配置文件 block strong 一起 时间 filename mat clu web
12.13 Nginx防盗链12.14 Nginx访问控制
12.15 Nginx解析php相关配置
12.16 Nginx代理
12.13 Nginx防盗链
与日志记录和日期时间结合在一起
location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)$ //匹配*,后面正则不区分大小写
{
expires 7d;
valid_referers none blocked server_names *.test.com ;
if ($invalid_referer) {
return 403;
}
access_log off;
}
不匹配403
12.14 Nginx访问控制
对于一些种要的内容,做一个白名单,只允许指定的IP能够访问
访问/admin/目录的请求,只允许某几个IP访问,配置:
location /admin/
{
allow 192.168.133.1;
allow 127.0.0.1;
deny all; //这三行 匹配到一行就不会继续往下匹配,所以deny要放最后
}
-t && -s reload
只有192.168.226.131或者127.0.0.1可以访问,测试过后为200 ,其他的为403
加上这一段 匹配正则 禁止解析php,针对正则做一些访问限制
根绝user_agent进行限制“
if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')
{
return 403;
}
deny all和return 403的效果一样
12.15 Nginx解析php相关配置
把配置放到配置文件里
location ~ \.php$
{
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock; // fastcgi_pass 用来指定php-fpm监听的地址或者socke
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;
}
还没有加载配置文件
创建一个php测试
一开始不会解析,加载配置文件后就可以正常解析了
也可以监听端口,改成fastcgi_pass 127.0.0.1:9000;
出现502的时候需要确定pass的地址是否对应了
12.16 Nginx代理
用户本来要访问web服务器,通过代理服务器访问私网。
还比如需要访问美国的服务器,太远,可以访问香港的服务器,通过代理。
cd /usr/local/nginx/conf/vhost
vim proxy.conf
加入这些内容
server
{
listen 80;
server_name ask.apelearn.com; //定义域名
location /
{
proxy_pass http://121.201.9.155/; //通过这个IP可以访问到上面的域名
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; //指定ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
标签:配置文件 block strong 一起 时间 filename mat clu web
原文地址:http://blog.51cto.com/13646170/2130217