Oracle Java 1.6.0_30에서 실행중인 Tomcat 7 (7.0.25)을 사용하고 있습니다. libtcnative-1을 설치하고 APR 커넥터 (org.apache.coyote.http11.Http11AprProtocol)를 사용합니다.sendfile 및 APR 커넥터를 사용하여 전송 중에 Tomcat 연결이 끊어짐
나는 파일을 다운로드 한 사용자가 자신의 브라우저에서 열린 "파일 저장"대화를 유지하지 않는 한
모든 것이 잘 작동 (이 sendfile을하지 않고 재현 할 수 있기 때문에이 문제가되지 않습니다) sendfile을 사용하여 정적 파일을 제공하려고 너무 오랫동안. 사용자가 확인을 클릭하기 전에 "파일 저장"대화 상자가 10 초 이상 열리면 다운로드 한 파일의 일부만 사용자 시스템에 기록됩니다 (일반적으로 약 1.08MB).
활동이 없기 때문에 일종의 연결 시간 인 것 같습니다. 시간 제한 값을 조정할 수있는 설정이 있다면 어떤 아이디어가 있습니까? 아니면 APR 커넥터를 제거하지 않고 문제를 어떻게 피할 수 있을지 생각해보십시오.
이전에이 구성 옵션을 확인했습니다. ConnectionTimeout을 600000으로 설정하고 disabledUploadTimeout을 false로 설정했습니다. –
흠. 서버와 최종 사용자간에 방화벽/부하 분산 장치가 있습니까? 서버 자체에서 브라우저/wget을 사용하여 파일을 다운로드 할 수 있습니까? – bubbly
방화벽이없고로드 밸런서도 없습니다. 정적 파일 (즉, 서블릿을 거치지 않고)을 제공하면 정상적으로 작동합니다. 불행하게도 파일이 동적으로 생성되고 핫 링크를 방지하는 메커니즘이 필요하므로 옵션이 아닙니다. –