source

IE11 HTTPS AJAX XMLHttpRequest:네트워크 오류 0x2eff, 오류 00002eff로 인해 작업을 완료할 수 없습니다.

manycodes 2023. 3. 2. 22:23
반응형

IE11 HTTPS AJAX XMLHttpRequest:네트워크 오류 0x2eff, 오류 00002eff로 인해 작업을 완료할 수 없습니다.

Ajax POST 요청은 2초에서 30분 이상 걸릴 수 있습니다.버튼을 클릭하면 투고 요청이 발생합니다.

요청 시간이 1~2분 미만이면 응답이 반환되어 모든 것이 정상적으로 동작합니다.그러나 요청이 2분 이상 걸릴 경우 "Network error: XMLHttpRequest:네트워크 오류 0x2eff. 오류 00002eff"로 인해 작업을 완료할 수 없습니다.

물론 파이어폭스와 크롬은 잘 작동합니다.

애플리케이션은 SSL이 유효한 JBoss 서버에 전개됩니다.이 아키텍처에서는 요구를 2대의 Jboss 서버로 라우팅하는 로드 밸런서가 있습니다.

인터넷 익스플로러

버전: 11.0.9600.180971C 업데이트: 11.0.25

나는 다음을 시도했지만 허사였다.

1) ajax 캐시를 false로 설정 - 작동하지 않음

2) https://support.microsoft.com/en-us/kb/813827에 따라 레지스트리 설정 변경 - 동작하지 않습니다.여기서는 혼란스러운 부분이 있습니다.이것은 IE가 아님을 시사합니다만, 동시에 Chrome과 ff에서도 동작하기 때문에, 서버에서도 동작하지 않습니다.

3) 에이잭스 타임아웃을 0으로 설정 - 작동하지 않음4) $('#mdlSgn') 뒤에 e.proventDefault가 추가되었습니다.jQuery Ajax 요구에 따라 click(function() {는 전송되지 않고 취소됩니다.

$('#mdlSgn').click(function() {
    $('#cnfdsgl').modal('hide');

     $.ajax({
        url: ajaxUrl,
        type: "POST",
        data: JSON.stringify(input),
        contentType: "application/json; charset=UTF-8",
        dataType: "json",
        success: function(data) {
             /// some logic


        },
        error : function(jqXhr, textStatus, errorThrown) {
            /// some logic
        }
    });

 //some other logic
}); 

이 문제의 원인을 찾는 데 며칠이 걸립니다!

  • 콘솔: SCRIPT7002: XMLHttpRequest: 네트워크 오류 0x2eff. 오류 00002eff로 인해 작업을 완료할 수 없습니다.
  • IE/Edge의 네트워크 탭에서 실패한 요청은 '보류 중....'
  • XmlHTTPRequest/JQuery가 클라이언트에서 404 오류를 반환하지만 서버는 200 응답을 반환했습니다.
  • 응답 헤더가 반환되지 않음

이 문제가 발생한 것은, 다음의 모든 것을 사용하는 경우 뿐입니다.

  • HTTP/2
  • POST 요구
  • 윈도 10
  • IE 또는 엣지

현재 Windows 10 버전 1803(2018년 4월)에서 해결된 것은 HTTP 스택의 Windows 10 버그라고 합니다.따라서 일반적으로 Windows 자동 업데이트를 사용하는 사용자나 기업에서는 시간이 지남에 따라 이 문제가 사라집니다.WorldWide Windows 10 버전 사용

Windows 10 의 구버전 및 신버전으로 테스트한 결과, 확실히 해결되었습니다.

다음과 같은 일시적인 해결책이 있습니다.

  • IE 및 Edge에 대해 HTTP/2를 비활성화하고 HTTPS(서버 측 변경)를 사용합니다.
  • GET 사용(가능한 경우)
  • PUT도 이런 문제가 있나요?
  • 응답 헤더가 반환되지 않은 경우 몇 가지 재시도 실행
  • IE/Edge 사용자가 처벌받는 것을 받아들인다;-)

2초에서 30분 이상 소요될 수 있습니다.

전송해야 할 데이터가 많기 때문일 것입니다.

저는 20GB 이상의 비디오 파일을 처리하는 대용량 파일 업로더를 만들고 있으며, 몇 시간 동안 사용할 수 있습니다.

제 경험으로는 하나의 Ajax 요청으로 대용량 데이터를 업로드하면 이상한 브라우저 크래시가 발생할 수 있습니다(예를 들어 업로드 테스트의 약 20%에서 Chrome 브라우저 크래시).

가장 신뢰할 수 있는 방법은 데이터를 1MB의 청크로 분할하여 별도의 Ajax 요청을 통해 순차적으로 서버로 전송하는 것입니다.

제 경우는 서버에서 반환된 커스텀 응답 코드(3020)입니다.이를 200으로 전환하고 SPA 클라이언트의 로직을 수정하면 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/34049814/ie11-https-ajax-xmlhttprequest-network-error-0x2eff-could-not-complete-the-ope

반응형