조회 수 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 0 4 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 0
List of Articles
번호 분류 제목 글쓴이 조회 수 날짜
공지 뉴스 구글 최신 뉴스 file 덕후냥이 1455 2024.12.12
공지 일반 샤오미 BE6500 라우터 실사용 후기 (Wi-Fi 7 + 2.5G 스위치 기능까지 ㄷㄷ) 4 덕후냥이 1019 2025.06.28
공지 🚨(뉴비필독) 전체공지 & 포인트안내 20 무명의덕질 28902 2024.11.04
공지 URL만 붙여넣으면 끝! 임베드 기능 무명의덕질 23008 2025.01.21
6643 일반 3900x에서 573D 업글은 무의미한짓이군요 file 덕후냥이 1000 2025.06.28
6642 일반 수냉쿨러 질문드립니다. 덕후냥이 1030 2025.06.28
6641 일반 CPU 시피유에 좋은 램속도를 알아봅시다 file 덕후냥이 1036 2025.06.28
6640 일반 샤오미 BE6500 라우터 실사용 후기 (Wi-Fi 7 + 2.5G 스위치 기능까지 ㄷㄷ) 4 덕후냥이 1019 2025.06.28
6639 일반 이제 로지텍 마우스는 더 이상 못 사겠네요. 덕후냥이 1008 2025.06.26
6638 일반 Windows 95를 SSD에 설치하면 생기는 일 1 file 덕후냥이 850 2025.06.23
6637 일반 라이젠3600이랑 5600 똥값됐네 덕후냥이 1417 2025.06.21
6636 일반 ipfilter 다운로드 및 사용법 (ip 토렌트 노출 차단) file 덕후냥이 1641 2025.06.20
6635 일반 윈도우10이 곧 지원 종료 예정 (윈도우11 PowerToys 설치해보세) file 덕후냥이 422 2025.06.10
6634 일반 윈도우에서 바로가기 버튼으로 모니터 화면 자동 전환(가로/세로) 방법 덕후냥이 572 2025.06.05
6633 일반 아 진짜 요새 SKT 해킹 뭐시기 때문에 신경 쓰여 죽겠어 ㅠㅠ 2 덕후냥이 301 2025.05.20
6632 일반 저렴한 중국산 외장 SSD의 실체 file 덕후냥이 577 2025.05.17
6631 일반 인텔 애로우레이크의 CPU 내부 다이 모습 file 덕후냥이 650 2025.05.10
6630 일반 스카이프, 오늘 서비스 종료 file 덕후냥이 655 2025.05.10
6629 일반 SKT "보상 시 고객도 입증책임" file 덕후냥이 672 2025.05.10
6628 일반 “SK하이닉스 내부자에 뚫렸다” 中이직 앞두고 1만여건 기술 유출 file 덕후냥이 615 2025.05.10
6627 일반 기가바이트, 12년만에 메인보드에 새로운 기능을 추가 file 덕후냥이 645 2025.05.10
6626 일반 SKT “위약금 면제 시 수백만명 해지… 분위기 휩쓸려 시장 대혼란” file 덕후냥이 631 2025.05.10
6625 일반 CUDA 툴킷, 맥스웰, 파스칼, 볼타 지원 중단 덕후냥이 673 2025.05.10
6624 일반 그래픽카드를 활용한 암호 해독 벤치마크 file 덕후냥이 641 2025.05.10
Board Pagination Prev 1 2 3 4 5 ... 333 Next
/ 333