조회 수 65 추천 수 0 댓글 0

단축키

Prev이전 문서

Next다음 문서

단축키

Prev이전 문서

Next다음 문서

Extra Form

Apache 2.4 이상 버전에서 403 에러가 발생. error.log 를 보니 다음과 같은 에러가 있었다.

 

[Tue Dec 11 17:49:19.350384 2012] [authz_core:error] 
[pid 5308:tid 1576] [client 127.0.0.1:53603] AH01630: 
client denied by server configuration: /DOCUMENT_ROOT

 

 


아마도 우분투를 업그레이드하면서 (2.2에서 2.4로 업그레이드) 기존에쓰던 conf 파일 옵션값이 문제를 일으킨모양이다.

 

apache 2.2

<Directory /DOCUMENT_ROOT>

   ~~~

    Order allow,deny

    Allow from all

</Directory>

 

apache 2.4 최신

<Directory /DOCUMENT_ROOT>

    ~~~

    Require all granted

</Directory>

 

 

 

 

 

 

 

 

아래는 apache 공식사이트 설명문서다.

 

https://httpd.apache.org/docs/2.4/upgrading.html

 

 

 

 

2.2 configuration:

 Order deny,allow Deny from all 

2.4 configuration:

 Require all denied 

In this example, there is no authentication and all requests are allowed.

2.2 configuration:

 Order allow,deny Allow from all 

2.4 configuration:

 Require all granted 

In the following example, there is no authentication and all hosts in the example.org domain are allowed access; all other hosts are denied access.

2.2 configuration:

 Order Deny,Allow Deny from all Allow from example.org 

2.4 configuration:

 Require host example.org 

In the following example, mixing old and new directives leads to unexpected results.

Mixing old and new directives: NOT WORKING AS EXPECTED

 DocumentRoot "/var/www/html" <Directory "/"> AllowOverride None Order deny,allow Deny from all </Directory> <Location "/server-status"> SetHandler server-status Require local </Location> access.log - GET /server-status 403 127.0.0.1 error.log - AH01797: client denied by server configuration: /var/www/html/server-status 

Why httpd denies access to servers-status even if the configuration seems to allow it? Because mod_access_compat directives take precedence over the mod_authz_host one in this configuration merge scenario.

This example conversely works as expected:

Mixing old and new directives: WORKING AS EXPECTED

 DocumentRoot "/var/www/html" <Directory "/"> AllowOverride None Require all denied </Directory> <Location "/server-status"> SetHandler server-status Order deny,allow Deny from all Allow From 127.0.0.1 </Location> access.log - GET /server-status 200 127.0.0.1 

So even if mixing configuration is still possible, please try to avoid it when upgrading: either keep old directives and then migrate to the new ones on a later stage or just migrate everything in bulk.

In many configurations with authentication, where the value of the Satisfy was the default of ALL, snippets that simply disabled host-based access control are omitted:

2.2 configuration:

 # 2.2 config that disables host-based access control and uses only authentication Order Deny,Allow Allow from all AuthType Basic AuthBasicProvider file AuthUserFile /example.com/conf/users.passwd AuthName secure Require valid-user 

2.4 configuration:

 # No replacement of disabling host-based access control needed AuthType Basic AuthBasicProvider file AuthUserFile /example.com/conf/users.passwd AuthName secure Require valid-user 

In configurations where both authentication and access control were meaningfully combined, the access control directives should be migrated. This example allows requests meeting both criteria:

2.2 configuration:

 Order allow,deny Deny from all # Satisfy ALL is the default Satisfy ALL Allow from 127.0.0.1 AuthType Basic AuthBasicProvider file AuthUserFile /example.com/conf/users.passwd AuthName secure Require valid-user 

2.4 configuration:

 AuthType Basic AuthBasicProvider file AuthUserFile /example.com/conf/users.passwd AuthName secure <RequireAll> Require valid-user Require ip 127.0.0.1 </RequireAll> 

In configurations where both authentication and access control were meaningfully combined, the access control directives should be migrated. This example allows requests meeting either criteria:

2.2 configuration:

 Order allow,deny Deny from all Satisfy any Allow from 127.0.0.1 AuthType Basic AuthBasicProvider file AuthUserFile /example.com/conf/users.passwd AuthName secure Require valid-user 

2.4 configuration:

 AuthType Basic AuthBasicProvider file AuthUserFile /example.com/conf/users.passwd AuthName secure # Implicitly <RequireAny> Require valid-user Require ip 127.0.0.1 

0 0 2 0 1 1 1 2 2 6 1 1 0 0 1 0 0 0 0 1
List of Articles
번호 분류 제목 글쓴이 조회 수 날짜
공지 뉴스 구글 최신 뉴스 file 덕후냥이 1462 2024.12.12
공지 일반 샤오미 BE6500 라우터 실사용 후기 (Wi-Fi 7 + 2.5G 스위치 기능까지 ㄷㄷ) 4 덕후냥이 1037 2025.06.28
공지 🚨(뉴비필독) 전체공지 & 포인트안내 22 무명의덕질 29243 2024.11.04
공지 URL만 붙여넣으면 끝! 임베드 기능 무명의덕질 23202 2025.01.21
10643 네이버 지식쇼핑을 보면 깜놀랄일 감자칩 3952 2014.03.23
10642 mysql 6.0 다운로드 (windows 계열 32비트용) 감자칩 2786 2014.03.29
10641 리니지 프리서버 - 춘자 2.7클라이언트 2 가브리엘조 9511 2014.03.30
10640 안녕하세요 핫젝갓 1925 2014.04.07
10639 가입했습니당^.^ 1 컴퓨터갤 2189 2014.04.07
10638 가입인사드립니다. 1 체스카 2124 2014.04.07
10637 스위트망고입니다. 반갑습니다 1 스위트망고 2196 2014.04.07
10636 영자님 2 김치년 4002 2014.04.11
10635 카오스원 2 김치년 3277 2014.04.11
10634 컴퓨터 포멧하려는데 BIOS 화면이 안떠요. 6 강백호 5186 2014.04.12
10633 하이하이 1 강백호 4142 2014.04.12
10632 영자씨 1 강백호 2622 2014.04.13
10631 인텔 v프로 원격제어 지원 메인보드-애즈락 Q87M 프로 출시 감자칩 2850 2014.04.26
10630 하즈웰 4세대 오버클럭시 온도차이. 감자칩 2379 2014.04.26
10629 갠적으로 마음에 드는 그래픽카드 GTX760 PHANTOM DDR5 2G 1 감자칩 2843 2014.04.26
10628 탑파워 TOPOWER TOP-500D 80PLUS Bronze 감자칩 1943 2014.04.26
10627 슈퍼플라워 SF-500P12A 후기 감자칩 1711 2014.04.26
10626 인텔 코어 i7 하스웰 4770 추천드림 감자칩 2424 2014.04.26
10625 듀얼 모니터 작업표시줄 프로그램 감자칩 2976 2014.04.26
10624 일반하드랑 ssd랑 차이가 심한가요? 1 라이너스~ 3035 2014.04.26
Board Pagination Prev 1 2 3 4 5 ... 533 Next
/ 533