正在加载中...

关闭
请选择需要拨打的号码
关闭
请根据问题类型选择QQ咨询

已解决:IOS苹果App应用因不支持IPv6-only审核被拒解决方案是什么?

已解决:IOS苹果App应用因不支持IPv6-only审核被拒解决方案是什么?

苹果公司APPstore早在2016年就开始要求应用上线必须支持ipv6-only。ios app审核需要抽查是否支持ipv6很多审核被退回,而国内目前除了教育网之外还没有使用到ipv6环境,这里提供一种思路,比较简便地实现ipv6. 输入图片说明

主要实现目的:
  1. 不需要改动源码(但原有框架已经支持ipv6情况下);

  2. 审核期间仍然能够正常使用不影响ipv4环境用户;

  3. 代理服务器不使用ssl证书。但访问仍然为https方式(后端原有服务器需要有安装ssl证书);

注意:审核期间不支持CDN

####一. 注册虚拟机一台该云主机需要支持ipv4和ipv6,ipv4主要使用来连接的如果你本地没有ipv6环境云主机不支持ipv4你无法连接过去设置。

注册可以选用AWS(国外)或者vultr。vultr云主机相对便宜,只要2.5美元一个月,购买的时候注意选择支持ipv6选项并选择linux。

####二. ssh进入云主机并安装必要软件 ######a. 安装dig工具

#yum -y install bind-utils
b. 安装haproxy代理
#yum -y install haproxy

######c. 关闭防火墙

#systemctl stop firewalld#systemctl disable firewalld

####三. 配置haproxy代理,采用http模式(7层)或者tcp模式(4层),我这采用tcp模式

   global
       log         127.0.0.1 local2
       chroot      /var/lib/haproxy
       pidfile     /var/run/haproxy.pid
       maxconn     4000
       user        haproxy
       group       haproxy
       daemon       # turn on stats unix socket
       stats socket /var/lib/haproxy/stats

   defaults
       mode                    http
       log                     global
       option                  httplog
       option                  dontlognull
       option http-server-close
       option forwardfor       except 127.0.0.0/8
       option                  redispatch
       retries                 3
       timeout http-request    10s
       timeout queue           1m
       timeout connect         10s
       timeout client          1m
       timeout server          1m
       timeout http-keep-alive 10s
       timeout check           10s
       maxconn                 3000#以上为默认#80端口可以不用,按照实际情况,我这里只用443端口你可以8个都开启
   listen test1       #bind必须绑定ipv6地址
       bind [2001:19f0:9002:3c2:5400:ff:fe72:ceee]:443 #ssl 
       mode tcp       #域名改为你服务器的域名或者ip,全部指向正式服务器地址
       server  app1 home.example.com:443 check       #listen test2        # bind [2001:19f0:9002:3c2:5400:ff:fe72:ceee]:80        #mode tcp        #server  app1 home.example.com:80 check

####四. 启动haproxy并查询是否打开了443端口

#systemctl start haproxy #启动haproxy#systemctl status haproxy #查看是否启动#ll -lntp #检查是否打开了443端口

####五. 修改域名解析

1. 首先注意备份原来的域名解析,后期审核通过后需要修改回来
2. 域名解析方法
- 添加2个相同的域名(我这里称之为A域名)
    其中一个为A解析,指向正式服务器(一般和上面回源地址相同)
    另一个为AAAA解析(为新注册云主机ipv6地址)- 把原来需要的域名(app审核的域名)改为CNAME解析,解析到1中添加的域名(也就是A域名)
3. 示例
名称解析类型主机
AAIPV4
AAAAAIPV6
APP(审核域名)CNAMEA

####六. 检查域名解析是否成功,如果有条件,可以使用另外一台云主机进行 用dig解析一下app需要审核的域名是否有2个解析ip,分别为ipv4和ipv6. dig example.com dig example.com aaaa *也可以在windows下使用nslookup查看是否能解析出2个ip(如下图) 输入图片说明

用ping6(linux下)看一下是否ping的是ipv6地址;
用ping看一下ping的是否为ipv4地址;
用curl -v url 看一下信息是否正确(如果是https那么看一下是否证书正确)

####七. 结束 ######1. 如果以上设置都正确,那么在ipv4环境下的电脑访问会自动解析ipv4地址直接访问正式服务器;如果在ipv6环境下访问那么会自动解析ipv6地址,并通过云主机反向代理访问(速度国内会慢一点);

2. 这样就可以不影响用户的情况下,又能通过app的审核,国内基本没有ipv6环境,即使教育网在出口也基本都会改成ipv4方式(否则国内绝大部分网站都打不开),所以也都会直接从服务器访问不影响速度。
3. 如果审核通过请及时还原原来的域名解析
4. 该方法除了域名解析几乎不影响原有配置和源码

####七.验证网站是否已支持IPV6 测试地址:http://ipv6-test.com/validate.php

本文章转载自作者:Ricky(564001002@qq.com

北京万维网作为阿里云北京授权代理商,为广大企业用户提供实惠的阿里云服务器价格,稳定可靠的ipv4到ipv6改造等上云解决方案和周到技术支持服务,如果您企业需要在云服务器上部署应用、网站,或迁移上云,欢迎联系北京万维网客服。电话:18601095105、QQ 442956988

微信:

万维景盛微信公众号



返回上一页