2016-08-14 1 views
0

ich die folgenden Regeln:Nginx Ort ermöglichen, ohne Kündigung

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

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

Alle gut funktioniert, bis ich xmlrpc.php für einige Adressen ermöglichen müssen. Gibt es eine Möglichkeit, xmlrpc.php ohne Duplikationsregeln für alle anderen php zu erlauben? Wahrscheinlich möchte man sagen, dass dieser Ort nur für die Erlaubnis-Verweigerung ist, nicht für die echte Verarbeitung.

Update: in der Tat war mir bewusst, Include-Variante. Irgendeine andere Lösung?

Antwort

1

bewegen PHP-Einstellungen zu externen Datei php.conf

fastcgi... 

und es in Orten

location ~ /xmlrpc.php { 
    deny all; 
    include php.conf 
} 

location ~ [^/]\.php(/|$) { 
    include php.conf 
} 
+0

Nein, das ist nicht das, wonach ich gefragt habe. Ich weiß, wie ich es erlaube. Ich weiß nicht, wie man das 'fastcgi ...' für jede Ausnahme-URL verdoppeln kann, die partiell verweigert werden darf. Ich brauche etwas wie "springen" oder "weitermachen". –

1

Sie könnten Ihre fastcgi in einer extra Datei, wie

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

und Verwendung konfigurieren Diese Datei in Ihren Standorten:

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; 
} 
Verwandte Themen