IOS苹果App因IPv6_only审核被拒解决方案,支持https,支持云和托管主机

当前ios app审核需要抽查是否支持ipv6很多审核被退回,而国内目前除了教育网之外还没有使用到ipv6环境,本人在工作时遇到这个问题,通过网络查询发现大多数帖子都是出自同一个内容,但感觉不是太好。以下为我本人的方法。希望对大家有用。我这里也只提供一种思路,并不会非常详细的讲解,但如果是运维相信能很容易看懂。该方法除了域名解析几乎不影响原有配置和源码 输入图片说明

主要实现目的:
  1. 不需要改动源码(但原有框架已经支持ipv6情况下);
  2. 审核期间仍然能够正常使用不影响ipv4环境用户;
  3. 代理服务器不使用ssl证书。但访问仍然为https方式(后端原有服务器需要有安装ssl证书);

注意:审核期间不支持CDN

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

注册可以选用AWS(国外)或者vultr。我用的是后者vultr云主机相对便宜,只要2.5美元一个月,购买的时候注意选择支持ipv6选项并选择linux,哪个发行版你自己决定我这里采用的是centos7.x。

####二. 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

https://my.oschina.net/rickywiki
作者:Ricky(564001002@qq.com) 转载请注明,谢谢!

转载于:https://my.oschina.net/rickywiki/blog/967838

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值