zoukankan      html  css  js  c++  java
  • 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;
    }

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

    查看日志:

    还可以根据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

    访问测试:

    到此代理配制设置完成!

  • 相关阅读:
    java实现第二届蓝桥杯四方定理
    java实现第二届蓝桥杯四方定理
    java实现第二届蓝桥杯四方定理
    JPos学习
    Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理
    java使用Thumbnailator操作图片
    Python的另一种开发环境--Anaconda中的Spyder
    Java多线程干货系列—(四)volatile关键字
    Java多线程干货系列—(二)synchronized
    Java多线程干货系列—(一)Java多线程基础
  • 原文地址:https://www.cnblogs.com/dongjieyuan/p/9215822.html
Copyright © 2011-2022 走看看