디렉토리 목록 403 Forbidden을 명시적으로 설정하는 Apache2 지시문이 있습니까?

디렉토리 목록 403 Forbidden을 명시적으로 설정하는 Apache2 지시문이 있습니까?

디렉토리 목록을 명시적으로 설정하는 지시문이 있습니까?인덱스 파일 없이403 금지? 기본 동작은 404를 반환합니다.mod_dir인덱스 파일을 찾을 수 없습니다.

나는 가지고 있지 않다mod_autoindex로드되었으며 Options그냥 으로 설정되었습니다 FollowSymLinks. 시도했지만 -Indexes여전히 404가 반환되었습니다.

<IfModule dir_module>
    DirectoryIndex index.php index.html index.htm
    DirectorySlash On
</IfModule>

<Directory /var/www>
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

중요하지 않지만 Apache 2.4를 사용하고 있습니다.

답변1

많은 시행착오 끝에 내 자신의 질문에 대답합니다. 이 답변은 Apache >= 2.0에 적용되어야 합니다.

요약하자면, 지시문 Indexes에 대한 옵션에는 다음이 Options필요한 것 같습니다.mod_autoindex. 기본 Apache 동작에 대한 추가 정보가 필요하지 않으면 지금 읽기를 중단할 수 있습니다.

더 많은 정보

관건은 그렇지 않느냐이다.mod_autoindex로드됩니다. 로드되지 않은 경우 설정은 Options -Indexes효과가 없으며 404를 반환합니다. 이는 mod_dir DirectoryIndex지시문이 인덱스 파일을 찾을 수 없기 때문에 의미가 있습니다. 로드되면 설정에서 Options -Indexes403을 반환합니다.

이는 에서 어느 정도 설명되어 있습니다.Apache 옵션 문서아래에인덱스Options, 이는 mod_core의 일부이기 때문에 약간 혼란스럽습니다 .

인덱스

디렉토리에 매핑되는 URL이 요청되고 해당 디렉토리에 DirectoryIndex(예: index.html)가 없으면 mod_autoindex는 형식화된 디렉토리 목록을 반환합니다.

... 그리고 에 설명되어 있습니다.mod_autoindex페이지:

옵션 + 인덱스를 사용하면 자동 인덱스 생성이 활성화됩니다. 자세한 내용은 옵션 지시문을 참조하세요.

내 테스트에 따르면 .htaccess 파일을 활성화/비활성화하는 것은 AllowOverride관련이 없습니다.

관련 정보