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

    访问测试:

    到此代理配制设置完成!

  • 相关阅读:
    selenium + python 环境配置 (三)之启动chrome
    selenium + python 环境配置 (二)之启动IE
    selenium + python 环境配置 (一)
    知源图四点坐标和目标图四点坐标,求透视变换矩阵
    memset()初始化为1的那些事
    NSOJ 4621 posters (离散化+线段树)
    申请到新博客了好开心
    SpringCloud之Hystrix-Dashboard监控,以及踩的坑...
    SpringBoot中在除Controller层 使用Validation的方式
    Docker安装ElasticSearch 以及使用LogStash实现索引库和数据库同步
  • 原文地址:https://www.cnblogs.com/dongjieyuan/p/9215822.html
Copyright © 2011-2022 走看看