8月15日 nginx 防盗链 访问控制 解析php相关配置 nginx代理

8月15日任务
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;

}

708204649b90897a7882e5bb17137c7966c.jpg

30ab614d287f85be162299c543b678adb8a.jpg

fe4962d69cb68db82ec655737ee87bda561.jpg

db729abdbe8f89c0387084ecdc83f938184.jpg

12.14 Nginx访问控制

一、访问控制目录

 

需求:访问/admin/目录的请求,只允许某几个IP访问,配置如下:

location /admin/

{

allow 192.168.133.1;

allow 127.0.0.1;

deny all;

}

0a02da9f41a46b3ebdca4e42bab6f6efc9e.jpg

mkdir /data/wwwroot/test.com/admin/

echo “test,test”>/data/wwwroot/test.com/admin/1.html

-t && -s reload

curl -x127.0.0.1:80 test.com/admin/1.html -I

curl -x192.168.133.130:80 test.com/admin/1.html -I

1a8732991f89603f6b40a5cc8df65a26167.jpg

ab47b2b7e09e1356e0edd4d8b47b34345b0.jpg

0f9ca592f285b5e3c80ec0c2bd7660ae128.jpg

 

二、可以匹配正则

location ~ .*(abc|image)/.*\.php$

{

deny all;

}

9f47b5903dd1228590c3c64d6780c10e093.jpg

164a98afd6962f71c1af62ae661e71d0f5b.jpg

8fe3a9282d8a9c5e9fec6eb244ae17701f6.jpg

0bab6c6e83ca963a4edad243e4dd075011c.jpg

 

三、根据user_agent限制

if ($http_user_agent ~ 'Spider/3.0|YoudaoBot|Tomato')

{

return 403;

}

deny all和return 403效果一样

e95fcf67ec24dc4fcf429e7fe7c8b50c1a0.jpg

 

如果要忽略大小写的话,

验证:

2646aaab32f58c0f483c25ead5718e92f74.jpg

12.15 Nginx解析php相关配置

配置如下:

location ~ \.php$

{

include fastcgi_params;

fastcgi_pass unix:/tmp/php-fcgi.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;

}

fastcgi_pass 用来指定php-fpm监听的地址或者socket

936f224d7b6c9dfdebb32f7afba891dfe03.jpg

8f6fa090b6c6b9a2b0b6d1b875194593187.jpg

设置错误日志:

856e76a9b3d61a49d7b587d93e400a84531.jpg

11cc3a527bc99f3ec8aa41c98fda2a98502.jpg

8a572f33ce1b43bf9a38c6fdc358db1b1a0.jpg

4a56c538133b0557328094b2b66c2e23ba3.jpg

1d1caeac8ea8104c99d3a30d420bff47976.jpg

不监听sock,监听ip的方法:

47f402c843b7422e2b38c5d39ae4020c58d.jpg

a29375fe7e61b7a08e0332bb88eb5cc2907.jpg

所以nginx和php-fpm 的配置文件 ,必须对应,如果监听ip,就都要监听ip,如果监听sock就都监听sock

 

二、路径要一致(在nginx虚拟主机的配置文件里)

2e1ef967950fcd5f0644004e73445d7317b.jpg

ae418a6b900af87638c4854ddf0cd4c145f.jpg

三、

4dae4643f5341c9a2e1f723bea594cb0c79.jpg

注释掉这行以后,会出现以下问题,往下看

a8c8ba6b5380e71b5e497da7daa23f7301a.jpg

临时改一下:sock文件权限

99bab37d8401bb3d896a470153a0952bc34.jpg

f9c6e18b539ebfe12015c75e53241552fb4.jpg

验证,444权限不行,要改成666权限,要让root和其他用户可以有读写权限

 

502问题如果遇到,就先从sock方面来找问题。

502还有一种报错情况,就是php-fpm资源耗尽了,也会报502错误、

12.16 Nginx代理

f8870f455a418cf766bca1cb46b744c26df.jpg

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/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

540e2ebd44a8258ddc3ac8174f2bb6022a4.jpg

e856c884359d80fc8d9b7b35661fecd8b8a.jpg

 

 

 

 

转载于:https://my.oschina.net/u/3873515/blog/1931746

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值