Apache2“모든 권한 부여 필요”가 작동하지 않습니다 2013] [authz_core:debug] [pid 8599]

데비안 테스트에서 Apache2를 새로 설치하고 다음과 같은 디렉토리에 가상 호스트를 구성했습니다.

<Directory "/path/to/project">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

그러나 액세스 할 때 403 Forbidden 오류가 표시되고 오류 로그에 다음이 표시됩니다.

[Mon Sep 23 22:07:57.249276 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of Require all denied: denied
[Mon Sep 23 22:07:57.249349 2013] [authz_core:debug] [pid 8599] mod_authz_core.c(802): [client 127.0.0.1:49057] AH01626: authorization result of <RequireAny>: denied
[Mon Sep 23 22:07:57.249361 2013] [authz_core:error] [pid 8599] [client 127.0.0.1:49057] AH01630: client denied by server configuration: /path/to/project/some_file

“모든 권한 부여 필요”를 사용하는 경우 왜 “모든 거부 필요 : 거부 됨”이 표시 됩니까?

파일은 모든 사용자가 읽을 수 있으며 운이없이 소유자를 Apache (www-data)로 변경하려고 시도한 경우를 대비하여. 또한 기본 호스트 http://localhost는 정상적으로 작동하고 phpmyadmin도 http://localhost/phpmyadmin작동합니다.

인터넷에서 찾은 모든 도움은 Order 지시문을 Require로 바꾸는 것입니다. 나는 이미 그렇게했습니다. 이제 무엇이 문제가 될 수 있습니까?



답변

다음 두 가지를 시도해보십시오.

1) 파일 apachectl -t구문 이 유효한지 확인하십시오 .

2) apachectl -S어떤 파일 이 구문 분석되고 있는지 보여주기 위해 실행 합니다 .

예를 들어, /usr/local/etc/apache2/2.4/httpd.conf를 편집하는 것이 맞습니까? …하지만 apachectl -S를 실행하면 다음을 볼 수 있습니다.

VirtualHost configuration:
*:80                   localhost (/private/etc/apache2/extra/httpd-vhosts.conf:23)

즉. 가상 호스트가 httpd.conf를 재정의하고 있으며 자체 Require all denied또는 유사 항목을 포함 할 수 있습니다 .


답변

인증을 설정했지만 인증은 설정하지 않았습니다. 따라서 ‘모든 권한 부여 필요’는 모든 인증 된 사용자에게 액세스 권한을 부여하지만 사용자는 실제로 인증하지 않습니다.


답변

AllowOverride All지시문을 사용하고 있기 때문에 에 .htaccess파일 이있을 수도 있습니다 /path/to/project/. 여기에는 재정의 지시문이 포함될 수 있습니다.

VHost에 다른 매개 변수가 없는지 확인하십시오.


답변

Wampserver 32를 설치 한 후 Apache에서 거부하는 것과 동일한 문제가 발생했습니다.

필자는 httpd.conf아파치 자습서와 인터넷 포럼을 유명한 오류로 둘러싼 3 일 동안 여러 가지 방법으로 파일 을 확인하고 수정하려고 시도했습니다 .

AH01630 : 서버 구성으로 클라이언트가 거부되었습니다.

필자는 VirtualHost를 정의하지 않았으며 httpd.conf 파일에 아무것도 표시되지 않았 음을 확신했습니다.

마지막으로 “디버그”오류 파일을 위해 서버를 구성했습니다.

AH01626 : 로컬 요구의 권한 부여 결과 : 거부

차례로이 게시물로 연결됩니다.

그리고 거기에는 C:\wamp\bin\apache\apache2.4.18\conf\extra\httpd-vhosts.conf파일에 숨겨져 있습니다. 명시 적 “로컬 필요”가있는 원치 않는 VirtualHost는 물론 서버 외부의 모든 쿼리를 거부했습니다.

이제 VirtualHost가 필요할 때까지이 파일을 비웠으며 제대로 작동합니다. 결국 Wampserver에서 사용자에게 알리지 않고이 파일을 사전 구성 할뿐만 아니라 “server”가 아무 것도 제공 할 수 없도록 기본값을 설정하는 것이 다소 이상하다는 것을 알았습니다.


답변