APP在美国的IPv6-Only网络环境下测试不通过。

网上各种方法都试了,什么NSURLConnection, Reachability,试完还是拼人品,快要跪了

小伙伴们开始质疑这种测试方法了。

趟着中枪的还有阿里云,偌大的阿里居然表示不支持IPv6,不支持也就算了,为啥阿里也还要删除相关IPv6的贴子,见到老马,我得好好跟他聊聊。

而且苹果美国测试中心表示通过NAT64/DNS64技术也无法访问中国的阿里云主机,这是几个意思?

言归正传,作为此次国内大规模APP被拒的原因,小编从技术角度来帮小伙伴们分析下,文末再免费为小伙伴们提供解决方法。

原因一:现有IPv4环境,国内、国外不一定互通,小编不敢往下说了,直接看数据好了。

IPv4/IPv6扫盲:不同的网络协议,中国99%都在用IPv4协议,IPv6是下一代互联网协议,最直接的区别就是地址格式上

国内主机ping国内网站的结果,时间最短,说明网络质量越好C:\>ping api.6box.cn -n 2

正在 Ping api.6box.cn [120.27.116.59] 具有 32 字节的数据:

来自 120.27.116.59 的回复: 字节=32 时间=13ms TTL=52

来自 120.27.116.59 的回复: 字节=32 时间=13ms TTL=52

120.27.116.59 的 Ping 统计信息:

数据包: 已发送 = 2,已接收 = 2,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):最短 = 13ms,最长 = 13ms,平均 = 13ms

美国AWS主机ping国内阿里云ECS,时间在300ms以上,丢包14%,当时我们的APP提交审核时,苹果同样表示IPv4网络连接不上。

ubuntu@ip-172-31-21-126:~$ ping 120.27.116.59

PING 120.27.116.59 (120.27.116.59) 56(84) bytes of data.

64 bytes from 120.27.116.59: icmp_seq=1 ttl=43 time=306 ms

64 bytes from 120.27.116.59: icmp_seq=2 ttl=43 time=307 ms

--- 120.27.116.59 ping statistics

---7 packets transmitted, 6 received,

14% packet loss, time 6007msrtt min/avg/max/mdev = 300.849/304.761/307.151/2.532 ms

美国AWS主机ping国内114的公共DNS,等了N久,表示网络不通

ubuntu@ip-172-31-21-126:~$ ping 114.114.114.114

PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.

审核不通过的大部分原因并非在代码层面,而是网络层面

审核不通过的大部分原因并非在代码层面,而是网络层面

审核不通过的大部分原因并非在代码层面,而是网络层面

原因二:NAT64本地测试和美国中心的IPv6 Only + NAT64/DNS64网络环境并不一样

NAT64扫盲:解决IPv4服务器不能被IPv6用户访问,看下图所示,目前中国99%的网站均不支持IPv6,但可以通过NAT64技术实现网络的转换,网站(APP)后台服务器不需要做配置,但网站域名所在的托管商,如万网,新网,易名中国等需要添加IPv6条目。

前方有坑,请注意

坑一、NAT64设备所在网络环境,决定你的网站能否无障碍被访问,苹果APP审核用的NAT64在美国,至于能顺利访问中国哪些网站服务器,就需要拼RP值了,相信很多小伙伴们已经明白了为啥本地NAT64模拟测试通过,在美国测试就不通过了吧。

坑二、没有真实IPv6测试环境,阿里云居然说中国没有IPv6运营商,无法支持IPv6,两端都有坑,再拒我一次,朕就准备投靠安卓了,伤不起啊。

小伙伴们,有困难不要怕,小编来拯救你们了!

法宝一、网站服务器咱不动,小编在中国免费帮各位小伙伴们进行NAT64转换,我们的NAT64设备在中国,当然所有网站都能通了,美国测试中心到我们是走的IPv6。

谁说中国没有IPv6,中国最大的IPv6就是中国教育网,拥有世界上最大的下一代互联网(CERNET2-CNGI)

1、使用小编提供的DNS64服务,解析出自己网站对应的IPv6域名

Windows: Win+R打开运行,输入cmd,打开命令提示符,输入以下命令

Nslookup www.6box.cn dns64.6box.cn

命令中www.6box.cn改成你的网站名称,如果APP里调用了多个子域名,都需要进行转换,如a.6box.cn ,b.6box.cn

将解析出来的IPv6地址记录添加到DNS域名托管商管理系统里,此操作通常在万网等域名网站里操作,不是在网站服务器上操作,建议直接联系网站技术负责人进行解析。此IPv6转换服务是免费给小伙伴们使用的,小伙伴们可以放心添加。

C:\>nslookup www.6box.cn dns64.6box.cn

服务器:  UnKnown

Address:  222.28.155.25

非权威应答:

名称:    www.6box.cn

Addresses:  2001:da8:20d:400::76ba:3ffd

118.186.63.253

2、给自己的网站添加IPv6 DNS记录,这样全球IPv6用户就能正确解析出你的IPv6地址啦

以万网操作为例,进入”我的域名“---”域名解析”----”添加解析”

记录类型AAAA  主机记录 www  记录值2001:da8:20d:400::76ba:3ffd

如果是api.6box.cn,则主机记录是api,其它类似

新网怎么添加IPv6条目?

新网不支持IPv6域名直接添加,给他们发邮件吧。

上面都操作完了,效果怎么样?

我们来测试一样:同样从美国AWS主机测试,这次采用IPv6线路进行测试,157ms,0丢包。比国内某些IPv4的网络还要快,有木有!!!

ubuntu@ip-172-31-21-126:~$ ping6 2001:da8:20d:400::76ba:3ffd

PING 2001:da8:20d:400::76ba:3ffd(2001:da8:20d:400::76ba:3ffd) 56 data bytes

64 bytes from 2001:da8:20d:400::76ba:3ffd: icmp_seq=1 ttl=46 time=157 ms

64 bytes from 2001:da8:20d:400::76ba:3ffd: icmp_seq=2 ttl=46 time=157 ms

--- 2001:da8:20d:400::76ba:3ffd ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 4001ms

rtt min/avg/max/mdev = 157.313/157.411/157.539/0.446 ms

我们通过浏览器来测试下,发现网站已经通过IPv6访问了

本地没有IPv6环境怎么办?

法宝二、免费申请6Box IPv6路由器,本地有IPv6真实环境了,测试更easy,苹果要敢再拒,我们就带上6Box去炸美国。

苹果送审了,自己还没有IPv6测试环境,怎么办,快来免费申请吧,小编也不是24小时都在线的,以后的测试还是需要小伙伴们自己来啊

6Box SOHO版专为苹果开发企业提供真实IPv6环境,即插即用,操作简单,无须变更现有网络架构,快速搭建IPv6网络环境,提供高速IPv6国际出口带宽。

主要功能如下:

用户连接数:30-40人/台

分配真实IPv6地址段 /64前缀

提供10Mbps企业级高速IPv6接入带宽

提供高速IPv6国际出口带宽(美国方向)

数量有限,免费测试名额不多,先到先得,可免费测试1个月

《免费公测申请表》下载地址:http://pan.baidu.com/s/1bTjSya

如果想快速体验IPv6,可以下载6Box APP

==========================说法二========

IPv6的简介

IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索)。

PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦,保证手机只在 Wi-Fi 下上网,以免手机在连接不到网络时候,会默认跳转到使用 蜂窝移动网络(即2G、3G、4G流量) 上网。

本地 Mac 搭建 IPv6 测试环境

想要测试你的 APP 是否在 IPv6 环境下运转是否正常,你所需要的就是一台用非Wi-Fi方式上网的Mac电脑。如果你用的是 Mac 一体机网络用的有线,那么你什么也不用准备,如果你用的 Mac 本,甭管 Air 还是 Pro,只要用无线上网,你就需要一个 RJ-45 转 USB 的转换工具(因为 Mac 本没有直接插有线的接口),去某狗、某猫上淘个吧,不贵也就不到100来大洋。

搭建 IPv6 测试环境说白了就是用 Mac 做一个热点,然后用 iPhone 连接这个 Wi-Fi,听起来很容易,下面跟着我的步伐走吧。

和正常的开启 Mac 热点的方式的区别是这次我们产生的是一个本地的 IPv6 DNS64/NAT64 网络,这项功能是 OS X 10.11 新加的功能(如果你的 Mac 系统版本不是的话必须要升级哦,才能产生 IPv6 的热点呐 )。

和我们以前开启热点方式不一样的地方在于,我们在 “系统偏好设置(System Preferences)” 界面选中 “共享(Sharing)” 的同时,要按住 “Option” 键。见图:

步奏1

之后在 “共享” 界面中,我们会看到和之前不一样的地方,就是红框所标的地方,多了一个叫 “创建 NAT64 网络 ” 的选框,选中它。

步奏2

接下来在 共享 窗口中,依次按图中所示的标号来,如图所示

步奏3

随后请点击 共享以下来源的连接 的下拉列表,选择我们想要共享出去的网络接口。我当前是想要共享的是 USB 10/100/1000 LAN ,(因为的我用的是 有线的 RJ-45 接头转 USB 输出的网络转换工具 )。

PS:如果你的 Mac 是用有线拨号上网的话,请选择 PPOE 选项作为共享源。如果你的 Mac 是用有线上网(不用拨号的)的话,请选择 Thunderbolt 以太网有线网 选项作为共享源。

标号1

标号2,用以下端口共享给电脑 选项此处选择 Wi-Fi

标号3,点击 Wi-Fi选项... 选项,个性化自己的热点的哦

最后一步

大功告成

出现一下变化证明你已经成功产生了一个 IPv6 的热点

Wi-Fi图标变样

看手机的连接共享 Wi-Fi 的变化

普通热点共享

IPv6 热点共享

对比2张图中 DNS 的地址看到区别了吧,一个 . 分割,一个 : 分割。

接下来,用 IPv6 的热点测试几个常用的 APP,如图:

微信

提示无法连接服务器。不过 QQ 是可以的。

提示网络连接不可用。可能环信老版本的Demo也会有这种情况。解决办法就去官网查阅 SDK 文档,此处只是给出检测 IPv6 环境下APP的连通性。

IPv6被拒如何破?-b的更多相关文章

  1. 关于IPv6被拒

    关于IPv6被拒       App在本地IPv6的测试环境下运行一切正常,结果又是被拒,悲剧原因还是IPv6的问题;求解决方法被拒原因We discovered one or more bugs i ...

  2. 关于ipv6被拒的问题

    遇到ipv6被拒,你首先要搭建一个ipv6的环境,进行测试一下,如果在ipv6环境下没有问题,那你就可以再次直接提交,或者重新打包提交.再次提交的时候,你可以录制一段在ipv6环境下运行的一段视频 上 ...

  3. App审核被拒(后台定位被拒,ipv6被拒,广告标示被拒的解决方案)

    ipv6被拒问题描述: 解决方案支持ipv6 1)搭建ipv6 环境,搭建好的ipv6 ,环境会有一个共享wifi, 具体如何搭建ipv6测试环境参考本地如何搭建IPv6环境测试你的APP2)app连 ...

  4. iOS ipv6 被拒

    1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧. 2.确保你用的sdk支持ipv6,这个自己去看文档就行. 3.终端  dig +nocmd + nos ...

  5. iOS 上线因iPv6被拒,查询服务器是否支持iPv6,mac设置iPv6网络,手机测试iPv6

    一. iOS----如何检查域名是否支持ipv6 iOS----------如何检查域名是否支持ipv6 1.检查你所用到的库,像af 3.0以上什么的(不用改),其他的库自己去搜下是否支持ipv6吧 ...

  6. ipv6被拒的解决方法

    A,检测服务器是否支持ipv6连接 用mac 搭建IPv6环境测试,只能测试客户端到mac这段网络正常,但是mac到服务器还是IPv4的,所以没有办法测试服务器的IPv6是否正常.可以用手机打开2)步 ...

  7. IOS - 上APPSTORE为何因IPv6被拒?

    http://blog.csdn.net/wanglixin1999/article/details/52182001

  8. 苹果审核之遇到IPV6问题被拒的解决方法

    情景: 等待苹果审核上线时,发现因为IPV6被拒了.这是悲剧,以下是苹果审核给我的理由: We discovered one or more bugs on Wi-Fi connected to an ...

  9. 2017-04-26 ios ipv6那些事(已完美解决)

    2017-04-26 ios ipv6那些事(已完美解决)   工作单位性质属于外包公司,每天都有几十的app要提交上传至应用市场,于2017年3月份接到ios工程师反馈 Guideline 2.1 ...

随机推荐

  1. ios 记录支付宝集成遇到的坑及解决方法

    今天项目中要开始动手集成支付宝支付,在此小结一下.(目前新版的支付宝SDK有较大改版,去集成还需要自己去开发平台详细的按照集成步骤来完成https://doc.open.alipay.com/docs ...

  2. 屌丝程序猿赚钱之道 之APP

    假设你已经通过APP赚到了钱,那么本文对你而言没有意义.倒是希望你可以给我们诸多建议. 通过制作APP或者说手机应用赚钱,相信是非常多程序猿希望做的事情.也确实有一些人通过APP赚到了钱. 对于程序猿 ...

  3. 《Pro Android Graphics》读书笔记之第四节

    Android Procedural Animation: : XML, Concepts and Optimization Procedural Animation Concepts: Tweens ...

  4. Oracle 数据库用户管理

    Oracle 数据库用户管理 Oracle 权限设置      一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...

  5. [D3] 7. Quantitative Scales

    # Quantitative Scales var colorScale = d3.scale.quantile() .domain([d3.max(dataset) / 4, d3.max(data ...

  6. CSS伪类选择器和伪元素选择器

    CSS的伪类选择器常用的是link/visited/hover/active,分别对应未访问.已访问过.鼠标悬停.鼠标按下时的样式,常用于链接,使用时要按此顺序依次写CSS,不能乱 a:link{ba ...

  7. 【锋利的jQuery】学习笔记04

    第四章 jQuery中的事件和动画 一.jQuery中的事件 加载DOM 在JS中等待页面加载完成通常使用window.onload方法,而在jQuery中则使用$(document).ready() ...

  8. C#语法糖之第五篇: 泛型委托- Action<T>

    因为工作的原因(其实还是个人的惰性)昨天没有给大家分享文章,然后这几天也有很多园友也提出了他们报告的意见及指导,再次感谢这些兄弟们的照顾我 和支持,这个分类的文章我当时想的是把我的学习经验和工作中用到 ...

  9. ios&h5混合开发项目仿app页面跳转优化

    前言:本人原本是ios开发工程师,但由于现今H5的兴起,行内刮起了一阵混合开发的风气,趁着这股劲,我也学了前端开发,不说研究的多深,但也能胜任日常的开发工作.长话短说,现今的混合开发应该还处于摸索阶段 ...

  10. [C#][转]与MySql连接访问

    using System;using System.Configuration;using MySql.Data.MySqlClient;/// <summary>/// TestDate ...