Apache가 "서버 구성에 의해 클라이언트가 거부되었습니다"라고 보고하는 이유는 무엇입니까?

Apache가 "서버 구성에 의해 클라이언트가 거부되었습니다"라고 보고하는 이유는 무엇입니까?

저는 Apache 2.4 및 PHP 5.6.27과 함께 Fedora 23을 실행하고 있습니다. Apache와 PHP는 모두 표준 Fedora 저장소에서 설치됩니다.

내 문제는 Require all granted내 웹 사이트의 웹 호스트 구성 설정에도 불구하고 내 웹 사이트(및 내 브라우저)를 탐색하려고 할 때 여전히 다음 오류가 발생한다는 것 입니다 403 Forbidden.

AH01630: 서버 구성에 의해 클라이언트가 거부되었습니다: /home/kevin/appsdev/mywebapp/phpinfo.php

이것은 내 가상 호스트 구성입니다.

<VirtualHost 172.16.3.52:80>
    ServerName localdev.mywebapp.net
    DocumentRoot /home/kevin/appsdev/mywebapp

    <Directory /home/kevin/appsdev/mywebapp>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

위 구성은 Apache와 함께 제공되는 기본 구성 파일 끝에 추가됩니다 httpd.conf.

Apache는 사용자로 실행됩니다 apache.

또한 소유권을 다음으로 설정했습니다 /home/kevin/appsdev/mywebapp.

chown -R apache:apache /home/kevin/appsdev/mywebapp

내 권한은 다음과 같습니다.

chmod -R 755 /home/kevin/appsdev/mywebapp

나는 심지어 (다소 장난스러운) 변경을 시도했습니다.

<Directory />
    AllowOverride none
    Require all granted   ## default is: Require all denied
</Directory>

나는 또한 selinux를 비활성화했습니다.

.htaccess홈페이지에 파일이 없습니다.

아파치를 다시 시작했지만 여전히 AH01630: client denied by server configuration..브라우저에 오류와 a가 표시됩니다.403 Forbidden

Running이 httpd -t나에게 알려주 Syntax OK므로 아무런 문제가 없습니다.

내가 뭘 잘못하고 있는 걸까요? 조금 혼란스럽나요?

답변1

웹 서버를 실행하는 사용자( apache기본적으로)는 파일을 열 수 있어야 합니다. 이것은 의미한다모든 경로접근이 가능해야 합니다. 알겠습니다. home dir을 사용하고 계십니다 /home/kevin. 이러한 디렉터리는 사용자 및 사용자 그룹(예: )에 대해서만 0750올바르게 설정되므로 Apache는 해당 디렉터리에 액세스할 수 없습니다.

그 안에 있는 파일과 디렉터리에 대한 액세스를 허용할 수 있지만 chmod o+x /home/kevin, 누구든지 홈 디렉터리를 읽을 수 있습니다(올바른 경로를 알고 있는 경우). 더 나은 해결책은 홈 디렉토리를 사용하지 않고 파일을 /var/www/or 에 넣고 /srv/apache와 사용자에게 올바른 권한을 부여하는 것입니다.

그럼에도 불구하고 항상 오류 로그의 해당 섹션을 질문에 첨부하십시오. 이 문제에 대한 추가 정보가 있어야 합니다.

관련 정보