分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配

发布时间:2023-09-06 01:45责任编辑:赖小花关键词:暂无标签
扩展:

502问题汇总  :

http://ask.apelearn.com/question/9109

location优先级 :

http://blog.lishiming.net/?p=100

12.13 Nginx防盗链

设定目录访问受限:

1. 配置test.com网站目录的防盗链,编辑虚拟主机配置文件 :

[root@hao-01 ~]# 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;

}

   location ~ .*\.(js|css)$

   {

2. 检测nginx配置文件是否有错 ?

[root@hao-01 ~]#  /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!) :

[root@hao-01 ~]# ?/usr/local/nginx/sbin/nginx  -s reload

4. 查看test.com网站目录下的静态文件 :

[root@hao-01 ~]# ?ls /data/wwwroot/test.com/

5. curl测试,通过百度网站访问test.com网站下的静态文件,403受限 :

[root@hao-01 ~]# curl -e "http://www.baidu.com/1.txt" -x127.0.0.1:80 -I test.com/1.gif

6. curl测试,通过test.com网站访问test.com网站下的静态文件,200通 :

[root@hao-01 ~]# curl -e "http://www.test.com/1.txt" -x127.0.0.1:80 -I test.com/1.jpg

12.14 Nginx访问控制

1. 配置testt.com网站访问控制,编辑虚拟主机配置文件 :

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

   location /hao/

   {

       allow 127.0.0.1;

       allow 127.168.211.128;

       deny all;

   }

2. 检测nginx配置文件是否有错 ?

[root@hao-01 ~]#  /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!) :

[root@hao-01 ~]# ?/usr/local/nginx/sbin/nginx  -s reload

4. 在test.com网站目录下,创建一个目录hao :

[root@hao-01 ~]# mkdir /data/wwwroot/test.com/hao/

5. /.../hao/目录下创建1.html文件,并追加内容 :

[root@hao-01 ~]# echo “test,test”>/data/wwwroot/test.com/hao/1.html

6. curl通过白名单127.0.0.1ip访问test.com网站下hao目录下的1.html文件 :

[root@hao-01 ~]# curl -x127.0.0.1:80 test.com/hao/1.html -I

7. curl通过白名单192.168.211.128ip访问test.com网站下hao目录下的1.html文件 :

[root@hao-01 ~]# curl -x192.168.211.128:80 test.com/hao/1.html -I

8. 添加一个虚拟网卡 :

9. 重新自动获取ens37新网卡ip :

[root@hao-01 ~]# dhclient ens37

10. 查看ens37新网卡ip :

[root@hao-01 ~]# ifconfig ens37

11. curl通过非白名单192.168.211.132ip访问test.com网站下hao目录下的1.html文件 :

[root@hao-01 ~]# curl -x192.168.211.132:80 test.com/hao/1.html -I

设定指定目录下的php文件解析受限:

1. 配置test.com网站php文件的防盗链,编辑虚拟主机配置文件:

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容:

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

{

       deny all;

}

2. 在test.com网站目录下,创建一个目录upload/:

[root@hao-01 ~]# mkdir /data/wwwroot/test.com/upload/

3. /...hao/目录下创建1.php文件,并追加内容:

[root@hao-01 ~]# echo “111”>/data/wwwroot/test.com/upload/1.php

4. 检测nginx配置文件是否有错 ?

[root@hao-01 ~]#  /usr/local/nginx/sbin/nginx -t

5. 重新加载nginx配置文件(非重启!) :

[root@hao-01 ~]# ?/usr/local/nginx/sbin/nginx  -s reload

6. curl访问test.com网站下upload目录下1.php文件 403受限 :

[root@hao-01 ~]# curl -x192.168.211.132:80 test.com/upload/1.php -I

根据user_agent限制:

1. 编辑test.com虚拟主机配置文件 :

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

增加内容(deny all和return 403效果一样):

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

{

     return 403;

}

2. 检测nginx配置文件是否有错 ?

[root@hao-01 ~]#  /usr/local/nginx/sbin/nginx -t

3. 重新加载nginx配置文件(非重启!) :

[root@hao-01 ~]# ?/usr/local/nginx/sbin/nginx  -s reload

4. curl 指定user_agent为tomatoalsdkflsd,访问test.com网站 403受限 :

[root@hao-01 ~]# curl -A "tomatoalsdkflsd" -x127.0.0.1:80 test.com -I

12.15 Nginx解析php相关配置

1. 编辑test.com虚拟主机配置文件 :

[root@hao-01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf

(注意这行很重要,fcgi.sock保证路径存在:astcgi_pass unix:/tmp/php-fcgi.sock;路径不对,访问错误会报502)

增加内容(解析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;

   }

2. 在test.com网站目录下创建1.php文件,并填写如下内容 :

[root@hao-01 ~]# vim /data/wwwroot/test.com/1.php

添加内容(php相关配置)

<?php

phpinfo();

3. curl 访问test.com网站下的1.php文件 :

[root@hao-01 ~]# curl -x127.0.0.1:80 test.com/1.php

12.16 Nginx代理

1. 进入...vhost目录下 :

[root@hao-01 ~]# cd /usr/local/nginx/conf/vhost

2. 创建proxy.conf文件,并写入代理配置 :

[root@hao-01 vhost]# vim /usr/local/nginx/conf/vhost/proxy.conf

server

{

   listen 80;

   server_name baidu.com;

   location /

   {

       proxy_pass      http://111.13.101.208/;

       proxy_set_header Host   $host;

       proxy_set_header X-Real-IP      $remote_addr;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   }

}

3. curl访问远程baidu.com/robots.txt :

[root@hao-01 vhost]# curl -x127.0.0.1:80 baidu.com/robots.txt


12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配

原文地址:http://blog.51cto.com/zhuneianxiang/2087269

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved