Apache2.4에서 "client denied by server configuration"이라는 오류 발생시

2022. 7. 7. 10:08IT/S . e . v . e . r . I . n . f . r . a

오늘 외주로 관리하고 있는 서버에 문제가 있어 접속해서 확인을 해보니 아파치의 설정이 엉망진창이었다.

아파치 서버가 2.4인데 버추얼 호스트 설정에는 2.2의 파라미터가 설정되어 있고

있지도 않은 버추얼호스트를 정의해 놓고 지금까지 운영을 해왔던 것이다. 

 

Apache 오류 로그를 확인해보았더니

client denied by server configuration

라는 오류 메시지가 발생하고 있었다.

 

Apache의 설정 파일을 검토하면,

<VirtualHost*:80>
  DocumentRoot /aaaaa/bbbbb/cccc/html
  ServerName sample.com
  ServerAlias ​​www.sample.com
  CustomLog /xxx/xxxx/xxxxx/xxxxxxx-access_log combined
  ErrorLog /xxx/xxxx/xxxxx/xxxxxxx-error_log
  <Directory /aaaaa/bbbbb/cccc/html>
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

그대로 남았습니다.

 

2.4부터는 지시문 을 작성하는 방법이 변경되었으므로,

Order allow,deny
Allow from all

대신,

Require all granted

라고 써야 합니다.

 

그래서 다음과 같이 수정하면 OK입니다.

<VirtualHost*:80>
  DocumentRoot /aaaaa/bbbbb/cccc/html
  ServerName sample.com
  ServerAlias ​​www.sample.com
  CustomLog /xxx/xxxx/xxxxx/xxxxxxx-access_log combined
  ErrorLog /xxx/xxxx/xxxxx/xxxxxxx-error_log
  <Directory /aaaaa/bbbbb/cccc/html>
   Require all granted
  </Directory>
</VirtualHost>