4.46-访问控制
限制IP访问:
1)白名单
allow 127.0.0.1;
dney all;
2)黑名单
deny 127.0.0.1;
deny 1.1.1.1;
限制某个目录
location /admin/ //在admin目录下操作
{
allow 127.0.0.1;
allow 192.168.112.136;
deny all;
}
限制某个目录下的某类文件
location ~ .(upload|image)/..php$
{
deny all;
}
限制user-agent
if ($http_user_agent ~ ‘Spider/3.0|YoudaoBot|Tomato’)
{
return 403;
}
限制uri
if ($request_uri ~ (abc|123))
{
return 404;
}
补充:
curl命令用法:
curl -v -A ‘aaaaaspider/3.0’ -e “1111” -x127.0.0.1:80 bbs.aminglinux.cc -I
-A 指定user-agent -e 指定referer -x指定访问目标服务器的ip和port -I只显示 header信息,不显示具体的网页内容
-v 显示详细的通信过程
4.48-Nginx反向代理
什么叫反向代理?
A(用户)–> B(在和C同一个机房,并且有公网)–> C(不带公网的机器)
什么场景会使用反向代理?
1)访问不带公网的内网机器
2)解决两台机器之间通信有障碍的问题
场景设置:
1)A B 两台机器,其中A只有内网,B有内网和外网
2)A的内网ip是 192.168.222.128
3)B的内网ip是 192.168.222.129 B的外网IP是 192.168.149.128
4)C为客户端,C只能访问B的外网IP,不能访问A或者B的内网IP
需求目的:
C要访问到A的内网上的网站
配置:
location /
{
proxy_pass http://ip;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}