programing

교차 도메인 요청에 대한 간헐적 ERR_SSL_PROTOCOL_ERROR 오류

minimums 2023. 10. 20. 13:31
반응형

교차 도메인 요청에 대한 간헐적 ERR_SSL_PROTOCOL_ERROR 오류

내 웹사이트의 사용자들이 간헐적으로 보고 있습니다.ERR_SSL_PROTOCOL_ERROR도메인 간 요청을 할 때api.flickr.com

간헐적으로 어제 api에 요청한 ~1200건 중에 4번이나 이런 일이 발생한 것을 본 것입니다.

Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR     https://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=.....

내 사이트는 and Angular입니다.Google App Engine에서 실행되는 JS 어플리케이션이며 HTTPS에서만 사용 가능합니다.

sslchecker는 내 사이트의 인증서와 인증서 체인이 올바르게 설치되어 있음을 보여줍니다.글쎄요, 괜찮아 보이는 것 같아요!

표시를 위한 sslcheckerROOT 1인증서 체인이 없습니다.그게 문제입니까?제가 어떻게 할 수 있을까요?

다른 생각 있나요?우리의 증명서가 다른 당국에 의해 발행되는 것이 문제가 되는 것은 아닐까요?

편집 - Google 분석에서 수집한 다른 관련 정보

  • Android, iOS, Windows 등 다양한 OS에서 이러한 현상이 발생하는 것을 본 적이 있습니다.
  • 서로 다른 브라우저 - Android, Chrome, Safari
  • 서로 다른 네트워크 도메인

지속적인 SSL 프로토콜 오류는 다음과 같은 문제로 인해 발생할 수 있습니다.

  • 대상 서버에서 다른 프로토콜(예: SSLv1, SSLv2, SSLv3)이 필요함

  • 보안 정책 위반(예: 일부 서버가 클라이언트의 인증서 요청을 준수하지 않음)

  • 방화벽 임피던스 필터링/암호화


간헐적 SSL 프로토콜 오류는 진단이 매우 어렵습니다.세션 만료, 키 만료, 연결 장애, 패킷 손실 등의 결과일 수 있습니다.

더욱 심각한 것은 날짜-시간 동기화, 서버 연결 풀 가득 등과 같은 서버측 문제로 인해 발생할 수 있습니다.

가장 좋은 방법은 요청을 다시 보내는 것입니다. 왜냐하면 이러한 문제는 종종 일시적인 결함이며 보통 두 번째 시도에서 성공하기 때문입니다.


Flickr2014년 6월 27일에 API를 SSL 전용으로 전환했습니다(1년도 조금 안 됨).그 이후로 그들의 포럼은 SSL과 관련된 문제들로 폭발했습니다.

지난 몇 달 동안 많은 사용자가 산발적으로 SSL 프로토콜 오류를 보고(스레드 확인)했습니다.

이러한 프로토콜 오류는 모든 장치 유형(노트북, 데스크톱, 모바일, 리눅스, 윈도우즈 등)에 걸쳐 나타나고 일반적으로 즉시 재시도가 성공합니다.이러한 문제의 공통성과 매우 빈번하지 않은 특성은 호스트 측에 클라이언트의 어떤 것과도 전혀 관련이 없는 문제가 있다는 것을 나타냅니다.

일반적으로 새로 고침 또는 두 번째 시도가 성공적이므로 오류를 트래핑하고 1-3번 더 시도할 것을 제안합니다.

var promise = flickrService.get(...);

promise.success(function (data, status, headers, config) {
        // Big Party
    })
    .error(function(data, status, headers, config) {
        if (status == 107) {
            promise = flickrService.get(...);

            promise.success(function (data, status, headers, config) {
                    // Big Party
                })
                .error(function (data, status, headers, config) {
                    AlertService.RaiseErrorAlert("Flickr temporarily unavailable.Please try again later");
                });
        }
    });

계속해서 "Protocol Error"(프로토콜 오류)가 나타나면 Flickr을 일시적으로 사용할 수 없음을 사용자에게 알리고 나중에 다시 시도하도록 합니다.

이 오류가 발생하여 localhost 끝점을 테스트하는 경우에는http대신에https당신의 url로

예:http://localhost:8080/것은 아니다.https://localhost:8080/

이것이 답이 될 수도 있지만, 이것은 아마도 클라이언트 문제가 아닐 것이라고 추측하기 때문에, 나는 당신이 당신의 api의 서버를 헤더에 그 행을 추가하여 업데이트하는 것을 제안합니다.

Access-Control-Allow-Origin: https://api.flickr.com/*

이렇게 하면 일부 사용자가 직면한 문제를 해결할 수 있습니다.

언급URL : https://stackoverflow.com/questions/29891619/intermittent-err-ssl-protocol-error-error-for-cross-domain-request

반응형