nginx防盗链、nginx访问控制、nginx解析php相关配制、nginx代理

1、nginx防盗链
编辑:vim /usr/local/nginx/conf/vhost/test.com.conf
写入:

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;
}
当然以上加入的代码,可以相互组合的

查检语法:/usr/local/nginx/sbin/nginx -t
重新加载:/usr/local/nginx/sbin/nginx -s reload
测试查看:
自定义一个referer访问:curl -e "http://www.baidu.com/"  -x127.0.0.1:80  0.0.0.0/11.zip -I

到此,防盗链配制完成。

2、nginx访问控制
继续编辑:vim /usr/local/nginx/conf/vhost/test.com.conf
加入:

location /admin/  #针对于admin目录
{
allow 192.168.133.1;
allow 127.0.0.1;
deny all;
}

查检语法:/usr/local/nginx/sbin/nginx -t

重新加载:/usr/local/nginx/sbin/nginx -s reload
创建一个目录:mkdir -p /var/www/test.com/admin
创建一个测试文件:echo "admin_权限" >/var/www/test.com/admin/aa.html
测试查看:

查看日志:

若需要针对文件:
比如:location ~ .*(upload|image)/.*\.php$   #这里就是匹配含有upload或image并以.php结尾的文件,匹配到了则全部禁止访问。(可以理解为,禁止php解析)

{
deny all;
}

扫描二维码关注公众号,回复: 1561248 查看本文章

然后进行 检查、重新加载和查看:

查看日志:

还可以根据user_agent进行限制:
加入:

if ($http_user_agent ~* 'Spider/3.0|YoudaoBot|Tomato')
{
return 403;
}

测试查看:

查看日志:

至此,访问控制配制完毕。

 3、nginx和php整合:
编辑:vim /usr/local/nginx/conf/vhost/test.com.conf
加入以下代码:

location ~ \.php$
{
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/test.com$fastcgi_script_name;
}

查检语法:/usr/local/nginx/sbin/nginx -t
重新加载:/usr/local/nginx/sbin/nginx -s reload

 需要注意的:
nginx配制的socket要和php的 socket 路径相对应,最后需要解析的目录也要和上面server的目录相对应。

 

4、nginx代理:
新建立一个文件:
vim /usr/local/nginx/conf/vhost/proxy.conf
加入:

server
{
listen 80;
server_name abc.com;

location /
{
proxy_pass http://xxx.xxx.xxx.xxx;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

查检语法:/usr/local/nginx/sbin/nginx -t
重新加载:/usr/local/nginx/sbin/nginx -s reload



 

 



 

猜你喜欢

转载自www.cnblogs.com/nfyx/p/9168382.html