2016-11-15 2 views
1

애플에 제출 된 애플 리케이션에 문제가 있습니다. 애플은 ipv6 전용 네트워크에서 실행할 때 애플 리케이션이 실패했기 때문에 애플이 주장하고 있습니다.아약스 요청으로 IPV6 문제가 발생했습니다.

앱 내부의 자바 스크립트에서 XmlHttpRequest를 사용하여 제 3 자 서버에서 데이터를 가져오고 제 3 자 서버가 ipv6 네트워크에서 오는 요청을 제대로 처리하지 못하는 것일 수 있다고 생각합니다.

Apple이 내게 말하는 것은 내 측면에서 올바르게 처리하고 서버가 ipv6 요청을 지원하는지 확인하는 것입니다. 문제는 데이터를 가져 오는 데 사용하는 타사 서버를 제어 할 수 없다는 것입니다. 나는 서버에 대해 온라인 ipv6 호환성 테스트를 시도했는데, 그 원인을 보여 주었다. 첫 번째 DNS 서버는 AAAA 레코드를 리턴하고 다른 하나는 그렇지 않다. 이것이 사실이라면 서버가 ipv6를 지원한다고 생각할 수도 있습니다. 요청이 실패하는 이유는 이럴 수 있습니까? 나는 클라이언트 네트워크에서 IPv6에서 실행중인 경우에도 IPv4의에를 통해 수행되는 통신을 강제로 클라이언트 측에서 할 수있는 일이 있다면

ipv6 test

다음 질문입니다. 여기에 내 코드, 그것은 매우 간단합니다 : 네트워킹 전문의 제 분야 아니므로

var xhr = new XMLHttpRequest(); 
xhr.responseType = "document"; 

xhr.addEventListener("load", function() { 
    callback(xhr.responseXML); 
}, false); 

xhr.open("GET", url, true); 
xhr.send(); 

희망 누군가가 나에게이 전체의 IPv6 두통에 도움이 되거 도움이 될 수 있습니다. 애플이 애플 리케이션을 받아 들일 수 있도록 이러한 요청을 작동 시키면된다.

+0

정확히 애플은 문제가 무엇이라고 말 했나요? –

+0

그들은 단지 ipv6 네트워크에서 실행될 때 앱이 작동하지 않는다고 말하면서 보낸 스크린 샷에서 실패한 아약스 요청 인 것처럼 보입니다. 그래서 우리는 불행히도 더 구체적인 것은 없습니다. –

답변

2

IPv6를 통해 서버에 연결할 수없는 경우 DNS에 AAAA 레코드가 없어야합니다 (RFC 2119 문구 사용). 그러면 IPv6을 사용하는 네트워크 요청이 실패합니다. Apple NAT64 에뮬레이션이 작동하는 방식 때문에 테스트 설정을 사용할 때이 기능이 눈에 띄지 않을 수 있지만 실제 NAT64 네트워크에서는 작동하지 않습니다.

다른 말로하면 : AAAA 레코드가 존재하면 유효한 주소가 있어야하며 해당 주소에 대한 연결이 작동해야합니다.