아파치에서 기본 가상 호스트가 404 헤더를 반환하도록 구성하는 방법은 무엇입니까?


14

비슷한 질문을 받았지만 사용 가능한 답변이 명확하지 않으므로 제게 부탁드립니다.

<VirtualHost>아파치에서 몇 가지를 설정 한 후 _default_ ServerName이 404 메시지를 반환 하도록 구성하고 싶습니다 . 즉, 명시 적으로 사용 가능한 도메인이 Host http 헤더에 지정되어 있지 않으면 404를 반환하십시오.

도움을 주시면 감사하겠습니다.

답변:


27

시도해 보았 니:

리디렉션 404 /
ErrorDocument 404 "페이지를 찾을 수 없음"

기본 VirtualHost에서?


고마워요! 저의 전문 지식이 명확하기 때문에 동료 초보자에게는 기본 서버가 먼저 나타나야한다고 덧붙일 수 있습니다. (이 알아낼 걸 렸어요!)
에세 키엘 - 가르 존을

ErrorDocument해당 vhost 내부의 파일 또는 URL을 가리키는 경우 404도 반환하므로 내부 서버 오류가 발생합니다.
Cyril N.

이 답변은 모든 vhost가 단일 파일에 포함 된 사이트에 적합합니다 (Eugene Fidelin의 답변이 더 완전 함). a2ensite가있는 각 사이트에 대해 별도의 .conf 파일을 사용할 때 기본 (404) 구성을 먼저로드하는 방법을 알 수 없었습니다.
Andrew Swift

Redirect 404 /기본 Apache "찾을 수 없음"페이지를 표시하기에 충분하며 특정
가상 호스트 내에서도 작동

1

다음은 서버 이름이 Apache에 대해 구성되지 않은 경우 404 오류를 리턴하는 000-default.conf의 예입니다.

<VirtualHost *:80>
  ServerName default
  Redirect 404 /
</VirtualHost>
<VirtualHost _default_:80>
  Redirect 404 /
</VirtualHost>

모든 호스트가 단일 파일로 구성되면 두 번째 부분이 작동 함을 확인할 수 있습니다 (먼저 배치).
Andrew Swift

1
404 대신 503 (서비스를 사용할 수 없음)을 사용하는 것이 더 나을 수 있지만 실제로는 큰 차이가 있을지 의심됩니다. 모니터링 도구는 일반적으로 200이 아닌 코드를 경고합니다.
Kris

포트 443을 사용할 때 http에는 완벽하게 작동하지만 https에는 적합하지 않습니다. 그것에 대해 어떤 아이디어가 있습니까?
Sohail Ahmed
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.