2016-08-14 1 views
0
나는 다음과 같은 규칙이

없이 수 : 좀 주소 xmlrpc.php을 허용해야까지Nginx의 위치는 종료

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

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

모두 잘 작동합니다. 거기에 다른 모든 PHP에 대한 중복 규칙없이 xmlrpc.php 허용하는 방법이 있습니까? 아마도이 위치는 실제 처리가 아닌 허용 거부 전용이라고 말할 수 있습니다.

업데이트 : 사실 변형 변종을 알고있었습니다. 다른 해결책? 외부 파일

답변

1

이동 PHP를 설정 php.conf

fastcgi... 

및 위치에 포함

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

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

아니요, 이것은 제가 묻는 질문이 아닙니다. 나는 어떻게 허용하는지 안다. 나는 부분 허용 된 부분적으로 거부 된 모든 예외 URL에 대해 'fastcgi ...'를 두 배로 사용하는 것을 피하는 방법을 모른다. 나는 '뛰어 오르다'또는 '계속하다'와 같은 부드러움이 필요하다. –

1

당신은

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

사용과 같은 별도의 파일에 FastCGI를을 구성 할 수 있습니다 귀하의 위치에있는이 파일 :

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