解决苹果APP审核需要的IPv6地址的问题

起因:

苹果APP上线被驳回,原因是使用WIFI网络+IPv6地址无法登录。

 

解决问题概述:

网上有很多中办法解决这个问题,部分是通过IPv4转IPv6的办法,并不是真正的IPv6地址。

我们想通过申请国外具有IPv6地址的VPS,然后安装Nginx转发IPv6的请求到国内的IPv4服务器。

 

第一步:申请VPS

http://bandwagonhost.com

申请一个一年期的支持IPv6地址的VPS,一年费用19.99美元,支持支付宝支付。

 

第二步:进入后台,申请一个IPv6地址

 

第三步:设置域名解析

我设置的解析是A记录(也就是IPv4地址)到IPv4的国内服务器

AAAA记录(也就是IPv6地址)到IPv6的国外服务器。

第四步:安装Nginx

1、下载

wget http://nginx.org/download/nginx-1.11.6.tar.gz

2、解压

tar -zxvf nginx-1.11.6.tar.gz

3、安装第三方的相关pcre、openssl、zlib、gcc

(1):gcc 安装:yum install gcc-c++

(2):PCRE pcre-devel 安装:yum install -y pcre pcre-devel

(3):zlib 安装: yum install -y zlib zlib-devel

(4)OpenSSL 安装:yum install -y openssl openssl-devel

4、配置,注意需要设置ssl,先切换到nginx目录

cd nginx-1.11.6

./configure --prefix=/usr/local/nginx --with-http_ssl_module 

 

5、编译安装

make

make install

 

第四步:修改Nginx配置,使其可以转发IPV6地址的请求

修改nginx安装目录下的conf目录下的nginx.conf配置文件

    # 监听IPV6地址的80和443端口,旧版本nginx[::]既支持IPv4,又支持IPv6,新版本只支持IPv6,如果需要IPv4也访问到这里,需要增加IPv4地址的监听
    listen  [::]:80;
    listen  [::]:443 ssl;

    # 域名
    server_name  ***.*****.com;
    # ssl的公匙和私匙地址
    ssl_certificate /usr/local/nginx/certpath/cert.pem;
    ssl_certificate_key /usr/local/nginx/certpath/cert.key;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;

    # 设置请求转发到IPv4地址的服务器
    location / {
        proxy_pass https://***.****.com/;
        proxy_redirect off;
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_Addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    } 

 

第五步:重启服务

进入安装目录,我的是

cd /usr/local/nginx/sbin

./nginx -s stop

./nginx

 

第六步:使用网站进行测试

http://ipv6-test.com/validate.php

 

至此步骤完成。APP也如愿通过审核。

 

posted @ 2017-06-15 13:01  RandyTech  阅读(7060)  评论(1编辑  收藏  举报