NGINX配置小随笔

达到以下效果:

 

1,特定目录被指定IP访问

2,不是指定的IP地址不能执行URI中特定字符串

3,特定目录中不能执行PHP文件

 

set $self_visit '';
    if ( $request_uri ~* "XXFILE" ) {
        set $self_visit "${self_visit}Y";
    }
    if ( $http_x_forwarded_for !~* ^11\.22\.33\.44.* ) {
        set $self_visit "${self_visit}Y";
    }
    if ( $self_visit = YY )  {
        return 400;
    }
    location ~ /self/ {
        root   /phpxx/;
        index index.php;
        allow 11.22.44.44;
            deny all;
        fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  phpxx$fastcgi_script_name;
            include        fastcgi_params;
    }

location ~ /yoursle/.*\.(php|php5)(.*)$ {
        deny all;
    } 

 

时间: 2024-09-18 05:01:59

NGINX配置小随笔的相关文章

运维小知识之nginx---CentOS6.5安装nginx配置nginx sticky

运维小知识之nginx---CentOS6.5安装nginx配置nginx sticky            背景          今天经理在系统中使用nginx配置负载均衡,笔者想项目目前就一个服务器有必要吗?"以后会拓展的!",我能怎么办,反正在他眼里这些加上一个负载均衡又不花时间,这篇文章笔者主要是写如何在CentOS下安装nginx以及为了解决session共享问题而在nginx中添加的sticky.            一.安装准备            首先由于ngi

Nginx配置网站适配PC和手机

考虑到网站的在多种设备下的兼容性,有很多网站会有手机版和电脑版两个版本.访问同一个网站URL,当服务端识别出用户使用电脑访问,就打开电脑版的页面,用户如果使用手机访问,则会得到手机版的页面. 1.判断客户端的设备类型 要想让网站适配PC和手机设备,首先要能做出准确的判断.HTTP请求的Header中的User-Agent可以区分客户端的浏览器类型,可以通过User-Agent来判断客户端的设备. 无论是PC还是手机,由于操作系统.浏览器的多样性,自己来实现这个判断并不容易.好在国外有一套开源的通

nginx负载均衡篇二、nginx配置

如果不知道在Linux下如何安装nginx请参考前一篇文章. nginx负载均衡的配置较apache要简单许多,这里用nginx做负载均衡将不再描述tomcat集群的配置,如果对tomcat集群配置有不懂的地方,请参考Apache反向代理结合Tomcat集群来实现负载均衡(三).tomcat集群文章进行配置.下边进入正题,开始配置nginx负载均衡. 先来看下nginx的完全配置: #user nobody; worker_processes 1; #error_log logs/error.l

nginx lua 小项目:根据 user_agent 显示不同的页面,附带和 php 性能的对比

怎么快速学习一门新的语言呢? 如果你已经熟练掌握了一门语言,那么其他语言都是想通的.一个小小的需求,可能会遇到很多问题,但是搜索相关的关键字,就能快速实现出来,完成一个小目标,事半功倍. 死记硬背手册,太枯燥了,反正我是看不下去,不如直接来个小项目. 一个小需求 pc.mobile 一个地址有两套页面,需要在后端根据浏览器的 user_agent 来显示不同的页面. 通过 php 来做,当然可以,但是活动页面访问量一般都比较大,想优化些,所以想尝试下 lua. nginx 安装 lua-ngin

PHP+FastCGI+Nginx配置PHP运行环境_php实例

      CGI的英文全称为Common Gateway Interface(公共网关接口),是Nginx和动态脚本程序的桥梁,Nginx通过FastCGI接口将动态请求发送给FastCGI,FastCGI中的Wrapper进程生成一个线程,将请求交给脚本解释程序执行,然后通过原来的socket将解释执行后的结果原路返回给Nginx,之后Nginx将结果交给客户端.     Nginx是通过套接字文件socket来将动态请求发送给wrapper,使用的是Tcp协议.wrapper通过CGI接口

Nginx配置编写时支持逻辑运算与大小写字母转换的方法_nginx

逻辑运算nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition. 我们可以用变量的方式来间接实现. 要实现的语句: if ($arg_unitid = 42012 && $uri ~/thumb/){ echo "www.jb51.net"; } 如果按照这样来配置,就会报nginx: [emerg] invalid conditio

Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例_nginx

Yii的Nginx rewrite 如下为nginx yii的重写 server { set $host_path "/data/site/www.jb51.net"; access_log /data/logs/nginx/www.jb51.net_access.log main; server_name jb51.net www.jb51.net; root $host_path/htdocs; set $yii_bootstrap "index.php"; #

WordPress与Drupal的Nginx配置rewrite重写规则示例_nginx

WordPress wordpress依然是目前是世界上最流行的博客系统,越来越多由wordpress搭建而成的网站在使用nginx服务器软件,这里就来分享一下WordPress的nginx重写规则:   server { listen 80; server_name www.jb51.net jb51.net; access_log /data/logs/nginx/www.jb51.net.access.log main; index index.html index.php; root /

Nginx配置PATHINFO隐藏thinkphp index.php_nginx

Nginx配置PATHINFO隐藏index.php Nginx配置文件里放入这段代码 server { listen 80; default_type text/plain; root /var/www/html; index index.php index.htm index.html; #隐藏index.php location / { if (!-e $request_filename) { #一级目录 # rewrite ^/(.*)$ /index.php/$1 last; #二级目