解决苹果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也如愿通过审核。