[server] Apache2 : ‘AH01630 : 클라이언트가 서버 구성에 의해 거부되었습니다’

브라우저를 통해 localhost에 액세스하려고 할 때이 오류가 발생합니다.

AH01630: client denied by server configuration

다음을 사용하여 사이트 폴더 권한을 확인했습니다.

sudo chmod 777 -R *

내 구성 파일은 다음과 같습니다.

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/user-name/www/myproject
<Directory />
    Options FollowSymLinks
    AllowOverride all
    Allow from all
</Directory>

<Location />
  Allow from all
  Order Deny,Allow
</Location>

<Directory  /home/user-name/www/myproject/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride all
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>



답변

Apache 2.4를 사용중인 경우

허용 및 거부 규칙을 확인해야합니다

http://httpd.apache.org/docs/2.4/upgrading.html#access를 확인하십시오 .

2.2에서는 클라이언트 호스트 이름, IP 주소 및 기타 클라이언트 요청 특성을 기반으로 한 액세스 제어가 지시문 Order, Allow, Deny 및 Satisfy를 사용하여 수행되었습니다.

2.4에서 이러한 액세스 제어는 새 모듈 mod_authz_host를 사용하여 다른 권한 확인과 동일한 방식으로 수행됩니다.

새로운 지침되고 필요 :

2.2 구성 :

Order allow,deny
Allow from all

2.4 구성 :

Require all granted

또한 이러한 변경 후 아파치 서버를 다시 시작하는 것을 잊지 마십시오 ( # service httpd restart)


답변

모든 디렉토리에 대해 Require all granted대신 쓰기Allow from all
같은 것

최신 정보

위의 방법으로 문제가 해결되지 않으면 아래 언급 된 행을 제거하십시오.

주문 허용, 거부


답변

DocumentRoot 경로가 올바른지 다시 확인하십시오. 이 오류가 발생할 수 있습니다.


답변

ravisorg가 OSX 10.10 Yosemite에 제안한 것과 동일하게 Apache를 2.4 버전으로 업그레이드했습니다. 다음은 http.conf에 추가 된 변경 사항입니다.

<Directory />
    AllowOverride none
    Require all denied
</Directory>

<Directory /Volumes/Data/Data/USER/Sites/>
    AllowOverride none
    Require all granted
</Directory>


답변

이로 인해 하루 반 동안 견딜 수 없었지만 다른 모든 솔루션이 성공적으로 시도되지 않으면 해결책을 찾았습니다.

이것은 macOS 용입니다.

  • 활동 모니터로 이동 (스포트라이트 검색 : 활동)
  • 활동 모니터에서 Apache 서비스 인 httpd를 검색하십시오.
  • 루트에 속하는 것을 선택하고 왼쪽 상단의 X를 클릭하여 닫습니다.

그 시점에서 나는 즉시 403 오류가 발생하지 않고 모든 것이 예상대로 작동하기 시작했습니다. 이상한 것은 아파치를 다시 시작하지 않아도 방금 작동했습니다. 내 로컬 호스트에 갔을 때 자체적으로 다시 시작된 것 같습니다. 솔직히 모르겠지만 문제는 apachectl restart를 사용할 때 Apache가 실제로 다시 시작되지 않는다는 것입니다. 중지하거나 시작하십시오. 이것이 누군가를 돕기를 바랍니다.


답변

문제는 VirtualHost에 있지만 아마도 그렇지 않습니다.

모든 권한 부여 필요

구성 이 올바른지 확인 하십시오. 올바른 샘플이 있습니다.
여기에 이미지 설명을 입력하십시오


답변

오류 로그에 꼬리를 치고 페이지를 다시로드하면 정확한 문제에 대한 추가 정보가 표시됩니다.

$ {APACHE_LOG_DIR}이 실제로 작동하도록 환경 변수를 가져옵니다 …

source /etc/apache2/envvars

그런 다음 꼬리를보고 …

tail -f ${APACHE_LOG_DIR}/error.log