起因:
蘋果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也如願通過審核。