2010-01-22 6 views
4

swfupload를 사용하여 파일을 nginx에 업로드하고 있습니다. 그것은 나를 위해 잘 작동 & 사용자의 99 %. 그러나 몇 명의 사용자에게는 업로드하는 동안 어떻게 든 실패합니다. 연결을 열지 만 완료되기 전에 닫는 것 같습니다. nginx는 액세스 로그에 NGX_HTTP_CLIENT_CLOSED_REQUEST 인 499 상태를보고합니다.업로드시 SWFUpload가 조기에 연결을 닫음 (nginx 499)

더 많은 정보를 얻기 위해 그 중 한 명을 관리 할 수있었습니다. 그들은 Firefox 3.5.7과 함께 XP에서 플래시 10.0.42를 실행 중입니다.

이런 사람이 있습니까? 그것을 고치기위한 어떤 제안/내가 더 조사 할 수있는 방법? 특정한 경우 아무것도에서

+1

있는 유일한 방법은 클라이언트 측 (아마도 방화벽이나 무언가에 의해 발생) 또는 연결의 클라이언트 측 리셋 리드 타임 아웃에 실제 오류입니다. 어떤 종류의 파일 크기를 말하는거야? 사용자가 업로드하려고 시도한 파일의 크기를 알고 있습니까? –

+0

는 네, 지나치게 방화벽 및 네트워크 설정으로 밝혀졌다. 내가 특별히 그들이 불행하게도 불가능했던 것을 발견되지 않았다 ... –

답변

1

- 조나단

여기, 여기까지 오는 그것이 작동하지 않는 누구를 위해 내가 사용자를 물어 보곤했었다 것들의 목록입니다.

  • 어떤 인터넷 연결이 있습니까? (회사) 방화벽 뒤에 있습니까?

  • 어떤 파일을 업로드하려고 했습니까 (파일 형식 및 크기)? 그 파일은 어떤 매체에 저장 되었습니까?

  • 는이 작업을 했습니까 (패턴을 확인하기 위해) 설치

  • OS 버전, 브라우저 버전, 플래시 버전, 개인 방화벽 및/또는 바이러스 백신 소프트웨어 (예 : CD에서 업로드 할 때 제외하는 것은 읽기 오류) 두 번째 시도? 업로드가 완료되기 전에

0

몇 가능성,

  • 사용자는 페이지를 새로 고침.

  • 업로드 중에 사용자의 인터넷 연결이 끊어 지거나 딸깍 소리가납니다.

  • PHP를 사용하는 경우 (추측) php.ini에서 다음 설정을 확인하십시오. 스크립트가 실행하는 데 시간이 너무 오래 걸리는 경우

max_execution_time이라는

, 서버는이 설정을 기반으로 중지됩니다.

max_file_uploads

사용자가 한 번에이 설정보다 더 많은 파일을 업로드하려고하면 후 그 원인 일 수 있습니다.

어떤 파일이 설정보다 큰 경우

이 upload_max_filesize는 파일이 늘 업로드.그와 함께 클라이언트 측에서 서버에 도달하기 전에이를 처리 할 수 ​​있습니다 :

미안하지만,보다 구체적인 정보없이, 나는 더 범위를 좁힐 수 없습니다. 개인적으로 나는 그것의 클라이언트를 제외하고 1 %의 버그를 수정 시간을 낭비하지 것이다)

그것은 단지 사용자의 1 %에 영향을 미치는 있다면, 내 의견으로는 허용합니다.

1

499 오류가 때 발생된다

  • 사용자가 성공적으로
  • 사용자가 상쾌한 페이지로 즉, 응답을 (얻기 전에 요청을 취소 서버 (업로드 파일을 포함하여) 모든 데이터를 전송, 현재의 모든 요청이있을 것이다 취소)
  • 서버 (nginx) 요청 및 성공적으로 처리 (업로드 파일). 밑줄 서버는 200 응답을 반환합니다.
  • Nginx는 밑줄이 쳐진 서버에서 응답을 받지만 클라이언트 (POST 요청의 경우)에 응답을 보내려고 할 때 클라이언트는 연결을 종료하고 사라집니다! 따라서 서버는 클라이언트에게 응답을 전달할 수 없습니다.

그래서 499 오류 은 서버의 관점에서 성공 업로드입니다. 그러나 클라이언트가 응답을받지 못했기 때문에 nginx는 499 오류로 표시합니다. 마음에 오는