【问题标题】:Nginx location allow without terminationNginx 位置允许不终止
【发布时间】:2016-08-16 18:01:53
【问题描述】:

我有以下规则:

location ~ /xmlrpc\.php {
    deny all;
}

location ~ [^/]\.php(/|$) {
    fastcgi...
}

在我需要允许 xmlrpc.php 访问某些地址之前,一切正常。有什么方法可以让xmlrpc.php 对所有其他 php 没有重复规则?可能有点像告诉这个位置仅用于允许拒绝而不用于实际处理。

更新:事实上我知道包含变体。还有其他解决方案吗?

【问题讨论】:

    标签: php nginx fastcgi


    【解决方案1】:

    将php设置移动到外部文件php.conf

    fastcgi...
    

    并将其包含在位置中

    location ~ /xmlrpc.php {
        deny all;
        include php.conf
    }
    
    location ~ [^/]\.php(/|$) {
        include php.conf
    }
    

    【讨论】:

    • 不,这不是我要问的。我知道如何允许。我不知道如何避免将每个部分允许部分拒绝的异常 url 加倍 fastcgi...。我需要像jumpcontinue 这样的东西。
    【解决方案2】:

    你可以在一个额外的文件中配置你的 fastcgi,比如

    # /etc/nginx/fcgi_php.conf
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    

    并在您的位置使用此文件:

    location ~ [^/]\.php(/|$) {
        include fcgi_php.conf
    }
    
    # allow / deny xmlrpc.php access
    location ~ xmlrpc.php {
        allow 192.168.1.0/24;
        deny  all;
    
        include fcgi_php.conf;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-01-26
      • 1970-01-01
      相关资源
      最近更新 更多