Apache 가상 호스트는 서버 허용을 재정의하지 않습니다.

Apache 가상 호스트는 서버 허용을 재정의하지 않습니다.

저는 Apache 2.4를 실행하고 있으며 Apache 웹사이트(http://httpd.apache.org/docs/current/sections.html), "섹션이 병합되는 방식" 섹션 아래에 가상 호스트 구성이 서버 구성을 재정의해야 한다고 나와 있습니다.

"주문 거부, 허용" 논리를 사용하여 중요한 WordPress 파일에 대한 공개 액세스를 방지하기 위한 파일 일치 서버 구성 정규식이 있습니다.

<FilesMatch "wp-login\.php|xmlrpc\.php|admin-ajax\.php">
   Include conf/global_acl.conf
</FilesMatch>

그런 다음 내 가상 호스트 아래에는 wordpress 플러그인을 활성화하기 위해 특정 파일에 대한 특정 액세스를 허용하는 또 다른 파일 일치가 있습니다.

<FilesMatch "^(xmlrpc|wp-trackback)\.php$">
   Order Deny,Allow
   Allow from wordpress.com
   Allow from 123.123.123.123
</FilesMatch>

내 목표는 서버 구성 허용 프로세스를 가상 호스트에서 상속한 다음 가상 호스트에서 추가 허용 지시문을 구문 분석하도록 하는 것입니다. 작동하지 않는 것 같습니다. xmlrpc 파일을 제거하여 서버 수준을 수정하면 가상 호스트가 작동합니다.

편집하다

혼란을 없애기 위해 내 문제는 가상 호스트에서 IP 123.123.123.123을 사용하고 있음에도 불구하고 거부된다는 것입니다. 서버 구성의 화이트리스트 항목이 가상 호스트에 상속될 것으로 예상합니다. 그런 다음 추가 화이트리스트를 사용하면 virtualhost 구성에서 허용됩니다. 내 서버 구성 상단에 DENY FROM ALL이 있습니다.

무슨 일이 일어나고 있는지 아이디어가 있습니까? 미리 감사드립니다!

답변1

2.4에서 변경된 사항은 구문을 대체하는 것이었습니다.다음에서 허용새로운 것에 의해모두 부여 필요그리고 유사합니다. 보다아파치 업그레이드 문서부분액세스 제어.

변경을 피하기 위해 사용할 수 있는 compat 모듈이 있습니다. 이를 사용하고 명세서가 Order Deny,Allow없으면 선택하면 Deny모든 액세스가 허용됩니다(참조아파치 호환 : 주문).

따라서 .Order Allow,DenyDeny from all

관련 정보