遇到的問題:
幫客戶上架App到AppStore被拒,給出的理由如下:
please review the IPv6 and App Review discussion on the Apple Developer Forum烈炭。
沒錯溶锭,要求我們必須支持ipv6,這種問題曾未有過符隙,很奇葩趴捅,這跟審核人員網絡連接不上有關系。
若要滿足應用支持IPV6需要滿足以下兩點:
1霹疫、App本身是否兼容IPv6拱绑;
2、應用服務器需支持IPV6丽蝎。
本文只講解第2點牍白,一起從搭建環(huán)境開始吧绣张!
一、安裝Nginx
1、從官網下載nginx懒豹,本文使用了最新穩(wěn)定版1.14.0。
https://nginx.org/en/download.html
2嚼松、安裝pcre庫
nginx的http模塊使用pcre來解析正則表達式又憨,所以需要在linux上安裝pcre庫
yum install -y pcre pcre-devel
3、安裝zlib庫
zlib庫提供了很多種壓縮和解壓縮的方式麻诀,nginx使用zlib對http包的內容進行gzip痕寓,所以需要在linux上安裝zlib庫。
yum install -y zlib zlib-devel
4蝇闭、安裝openssl
nginx不僅支持http協(xié)議呻率,還支持https(即在ssl協(xié)議上傳輸http),所以需要在linux安裝openssl庫
yum install -y openssl openssl-devel
5呻引、編譯安裝nginx
#上傳剛剛下載好的nginx
rz -y
# 解壓安裝包
tar -zxvf nginx-1.14.0.tar.gz
# 進入解壓包
cd nginx-1.14.0
# 按需添加編譯參數(shù)
./configure --prefix=/usr/local/nginx --with-ipv6 ( --with-ipv6必須加礼仗,讓nginx開啟IPV6支持配置)
#編譯源碼
make
#安裝
make install
6、啟動nginx
cd /usr/local/nginx/sbin/
./nginx
二苞七、IPV6隧道配置
1藐守、注冊賬號:https://tunnelbroker.net/
2、創(chuàng)建隧道規(guī)則
3蹂风、設置公網ip
4卢厂、選擇一個隧道服務器,這里我選擇的是新加坡惠啄,香港的隧道服務器已滿慎恒。
5任内、完成創(chuàng)建,查看詳情
這里的Client IPv6 Address 是我們要用的IPv6 地址融柬,之后解析域名(AAAA解析)的時候用的就是它(域名里不用寫“/64”)
6死嗦、配置信息
選擇IP的方式設置(這里選擇的是Linux-route2),然后將文本框中l(wèi)ocal ip需改成內網IP粒氧,復制文本框中的內容到服務器執(zhí)行
重要越除!由上圖執(zhí)行結果得知,服務器不允許IPV6外盯,我們要先對服務器進行設置摘盆。
三、配置服務器
1饱苟、vim /etc/modprobe.d/disable_ipv6.conf孩擂,將下面屬性改成0。
options ipv6 disable=0
2箱熬、vim /etc/sysconfig/network类垦,將下面屬性改成yes。
NETWORKING_IPV6=yes
3城须、重啟網絡
service network restart
4蚤认、設置Linux內核參數(shù),啟用ipv6糕伐。 vim /etc/sysctl.conf 烙懦,修改以下三個屬性為0。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
5赤炒、讓第四步設置生效,執(zhí)行以下命令亏较。
sysctl -p
6莺褒、驗證是否開啟IPV6,當你看到inet6時雪情,表示已開啟成功遵岩。
7、回頭操作IPV6隧道配置中報錯的地方
三巡通、域名解析
1尘执、本文使用阿里云的ECS及在阿里云注冊的域名。
2宴凉、修改nginx配置
3誊锭、測試ipv6隧道是否通的
ping6 he.net
執(zhí)行結果如下圖,恭喜你弥锄,ipv6隧道已經打通了丧靡。
4蟆沫、用 wget -6 http://xxxxxxx 來驗證你的解析是否正確以及IPV6是否成功
四、測試填坑
1温治、ping6 ipv6.baidu.com
錯誤原因:花了整整一天排除問題饭庞,發(fā)現(xiàn)并發(fā)服務器設置、操作失誤引起的熬荆,而是隧道問題……刪除重新隧道即可舟山,這次我換成了“ Tokyo, JP”。
2卤恳、用工具測試
http://ipv6-test.com/validate.php
當你看到這些累盗,表示此次ipv6實驗已經成功了,恭喜你纬黎!