Apache2“모든 권한 부여 필요”가 작동하지 않습니다


12

데비안 테스트에서 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로 바꾸는 것입니다. 나는 이미 그렇게했습니다. 이제 무엇이 문제가 될 수 있습니까?


나에게 맞는 것 같습니다. 이들이 모두 거부 필요에 대해 더 구체적인 다른 지시문이 아닌가?
Richard Salts

답변:


5

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

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또는 유사 항목을 포함 할 수 있습니다 .


3

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


9
그렇다면 어디에서 인증을 설정해야합니까? 명확하지 않다 ...
edi9999

2
기술적으로는 정확하지만 질문에 대답하지 않습니다. Require all granted특히 모든 액세스를 허용하며 인증이 필요하지 않습니다. 은유 적으로 문을 활짝 열 때 인증 할 필요는 없습니다.
Martijn Heemels

2

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

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


이 오류로 어려움을 겪고있었습니다. 모든 Apache 구성 파일을 많이 검토 한 결과 내용이 잘못된 .htaccess 파일을 찾았습니다. 이 메시지를 가리키는 메시지가 없습니다.
더스틴 버틀러

1

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"가 아무 것도 제공 할 수 없도록 기본값을 설정하는 것이 다소 이상하다는 것을 알았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.