Apache에서 바이트 범위 요청을 비활성화하는 방법이 있습니까?

Apache에서 바이트 범위 요청을 비활성화하는 방법이 있습니까?

PDF 파일( )에 대한 링크가 포함된 웹페이지가 있습니다 target="_blank". 링크를 클릭하면 PDF 리더가 Firefox 브라우저 내에 회색 화면만 표시합니다.

해당 링크를 복사하고 새 탭에서 수동으로 열면 PDF가 올바르게 표시되고 원본 링크를 클릭하여 수행된 후속 요청이 이제 작동하므로 파일을 캐시에 로드할 때 문제가 발생함을 나타냅니다.

Adobe PDF 리더 플러그인이 바이트 범위 요청을 하는 것처럼 보이며(206개의 응답이 많이 표시됨) 이것이 문제의 원인일 수 있다고 의심됩니다.

저는 Apache 웹서버를 운영하고 있습니다. Apache 및 Adobe의 바이트 범위 요청에 문제가 있는 사람이 있습니까? 해결 방법이 있나요? PDF에 대한 바이트 범위 요청을 무시하도록 Apache를 구성하는 방법일까요?

답변1

요청을 비활성화하는 방법에 대한 질문은 httpd 메일링 리스트에서 묻고 답변되었습니다:

Accept-Range를 어떻게 비활성화합니까?

바이트 범위 요청을 수락하는 원본 서버는 다음을 보낼 수 있습니다.

      Accept-Ranges: bytes

  Servers that do not accept any kind of range request for a
  resource MAY send

      Accept-Ranges: none

더 직접적인 방법을 찾지 못하면 언제든지 mod_headers를 사용하여 응답 헤더를 제거하거나 변경할 수 있습니다.

-> Accept-Ranges 헤더를 없음으로 설정하는 방법은 mod_headers에 대한 Apache 문서를 참조하세요.

http://mail-archives.apache.org/mod_mbox/httpd-users/200912.mbox/%[이메일 보호됨]%3E

답변2

이 문제로 인해 PDF를 볼 때 Acrobat Reader에서 오류 109가 발생하는 경우가 있었습니다.

htaccess 파일을 통해 바이트 범위 요청을 비활성화하려면 다음을 수행하십시오.

# Disable Byte-range for PDF files
<Files *.pdf>
    Header set Accept-Ranges none 
</Files>

답변3

가운데에 오징어가 앉아있나요? 이는 Adobe 플러그인의 일반적인 문제입니다. PDF의 끝(TOC)을 가져오려고 시도하고 Squid가 전체 파일을 다운로드하기 시작하며 Adobe 시간이 초과되고 빈 페이지가 표시됩니다.

대신 "마우스 오른쪽 버튼을 클릭하고 다른 이름으로 저장"하는 방법을 배우십시오. PDF는 웹 문서가 아니므로 브라우저에서 볼 수 없습니다.

관련 정보