2016-11-15 45 views
1

私はAppleに提出されたアプリケーションに問題があり、Appleはipv6専用ネットワーク上で実行したときにアプリケーションが失敗したと主張しています。ajaxリクエストによるIPV6の問題

アプリ内のjavascriptから、私はXmlHttpRequestを使用してサードパーティのサーバからデータを取得していますが、サードパーティのサーバがipv6ネットワークからのリクエストを適切に処理していない可能性があります。

アップルが私に言っていることは、自分の側で正しく処理し、サーバーがipv6要求をサポートしていることを確認することです。問題は、私がデータを取得するために使用する第三者サーバーを管理できないことです。私はサーバーに対してオンラインのipv6互換性テストを実行しようとしましたが、それが原因かもしれない何かを示しました。最初のDNSサーバーはAAAAレコードを返す一方、もう一方は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頭痛にいくつかの光を当てることができます。私はちょうどこれらの要求を働かせる必要があるので、アプリはAppleによって受け入れられることができます。

+0

Appleが問題と言ったことはまったく何ですか? –

+0

彼らはipv6ネットワーク上で実行するとアプリケーションが失敗しているとしか言わず、送信したスクリーンショットからは失敗したajaxリクエストのようです。残念ながら、私たちはもっと具体的なものはありません。 –

答えて

2

IPv6を介してサーバに到達できない場合は、DNSのAAAAレコードである(RFC 2119の言い回しを使用して)必要はありません。その場合、IPv6を使用するネットワークからの要求は失敗します。アップルのNAT64エミュレーションが動作する方法のために、テストセットアップを使用する際にはこれは注目に値しないかもしれませんが、実際のNAT64ネットワークは破損します。

逆の言葉:AAAAレコードが存在する場合は、有効なアドレスを含める必要があり、そのアドレスへの接続が機能する必要があります。

関連する問題