blueice 发表于 2018-11-9 11:56:01

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

  扩展:
  502问题汇总:
  http://ask.apelearn.com/question/9109
  location优先级 :
  http://blog.lishiming.net/?p=100
  12.13 Nginx防盗链
  设定目录访问受限:
  1. 配置test.com网站目录的防盗链,编辑虚拟主机配置文件 :
  # 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配置文件是否有错 ?
  # /usr/local/nginx/sbin/nginx -t

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

  # /usr/local/nginx/sbin/nginx-s>  4. 查看test.com网站目录下的静态文件 :
  # ls /data/wwwroot/test.com/

  5. curl测试,通过百度网站访问test.com网站下的静态文件,403受限 :
  # 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通 :
  # curl -e "http://www.test.com/1.txt" -x127.0.0.1:80 -I test.com/1.jpg

  12.14 Nginx访问控制
  1. 配置test.com网站访问控制,编辑虚拟主机配置文件 :
  # 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配置文件是否有错 ?
  # /usr/local/nginx/sbin/nginx -t

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

  # /usr/local/nginx/sbin/nginx-s>  4. 在test.com网站目录下,创建一个目录hao :
  # mkdir /data/wwwroot/test.com/hao/
  5. /.../hao/目录下创建1.html文件,并追加内容 :
  # echo “test,test”>/data/wwwroot/test.com/hao/1.html

  6. curl通过白名单127.0.0.1ip访问test.com网站下hao目录下的1.html文件 :
  # curl -x127.0.0.1:80 test.com/hao/1.html -I

  7. curl通过白名单192.168.223.128ip访问test.com网站下hao目录下的1.html文件 :
  # curl -x192.168.223.128:80 test.com/hao/1.html -I

  8. 添加一个虚拟网卡 :
  网络适配器2——NAT 模式

  9. 重新自动获取ens37新网卡ip :
  # dhclient ens37
  10. 查看ens37新网卡ip :
  # ifconfig ens37

  11. curl通过非白名单192.168.223.133ip访问test.com网站下hao目录下的1.html文件 :
  # curl -x192.168.223.133:80 test.com/hao/1.html -I

  设定指定目录下的php文件解析受限:
  1. 配置test.com网站php文件的防盗链,编辑虚拟主机配置文件 :
  # vim /usr/local/nginx/conf/vhost/test.com.conf
  增加内容:
  location ~ .*(upload|image)/.*\.php$
  {
  deny all;
  }

  2. 在test.com网站目录下,创建一个目录upload/ :
  # mkdir /data/wwwroot/test.com/upload/
  3. /...hao/目录下创建1.php文件,并追加内容 :
  # echo “111”>/data/wwwroot/test.com/upload/1.php

  4. 检测nginx配置文件是否有错 ?
  # /usr/local/nginx/sbin/nginx -t
  5. 重新加载nginx配置文件(非重启!) :

  # /usr/local/nginx/sbin/nginx-s>  6. curl访问test.com网站下upload目录下1.php文件 403受限 :
  # curl -x192.168.223.128:80 test.com/upload/1.php -I

  根据user_agent限制:
  1. 编辑test.com虚拟主机配置文件 :
  # 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配置文件是否有错 ?
  # /usr/local/nginx/sbin/nginx -t

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

  # /usr/local/nginx/sbin/nginx-s>  4. curl 指定user_agent为tomatoalsdkflsd,访问test.com网站 报错403受限 :
  # curl -A "tomatoalsdkflsd" -x127.0.0.1:80 test.com -I

  12.15 Nginx解析php相关配置
  1. 编辑test.com虚拟主机配置文件 :
  # 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. 检测nginx配置文件是否有错 ?
  # /usr/local/nginx/sbin/nginx -t

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

  # /usr/local/nginx/sbin/nginx-s>  4. 在test.com网站目录下创建1.php文件,并填写如下内容 :
  # vim /data/wwwroot/test.com/1.php
  添加内容(php相关配置) :
  
页: [1]
查看完整版本: 12.13 Nginx防盗链;12.14 Nginx访问控制;12.15 Nginx解析php相关配