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

    访问测试:

    到此代理配制设置完成!

  • 相关阅读:
    完全自主创建Wrapper Tomcat容器
    python新手菜鸟之基础篇
    使用python抓取数据之菜鸟爬虫1
    简单实现Python调用有道API接口(最新的)
    演示嵌套函数定义及使用装饰器
    纯手工搭建VS 2017(社区 免费版)离线安装包
    C#中的PropertyGrid绑定对象,通过改变某一值而动态设置部分属性的特性
    WinForm 画布的标尺和网格
    Open Source
    动态链接库-Win32 DLL的说明
  • 原文地址:https://www.cnblogs.com/dongjieyuan/p/9215822.html
Copyright © 2011-2022 走看看