1. 程式人生 > >阿里雲伺服器支援ipv6(appStore稽核不通過問題)

阿里雲伺服器支援ipv6(appStore稽核不通過問題)

1.首先讓你的阿里雲伺服器支援ipv6,比如我的伺服器是centos6.5

1). 修改disable_ipv6.conf,不同的系統命名會有些差別

# vim /etc/modprobe.d/disable_ipv6.conf   ##註釋alias ipv6 off及修改options ipv6 disable為0修改前alias net-pf-10 off
alias ipv6 off
options ipv6 disable=1修改後alias net-pf-10 off
#alias ipv6 off
options ipv6 disable=0# cp /etc/sysconfig/network /data/guotest/ipv6/
# vim /etc/sysconfig/network ##修改NETWORKING_IPV6為yes修改前 NETWORKING=yes HOSTNAME=coolnull NETWORKING_IPV6=no PEERNTP=no GATEWAY=*.*.*.*修改後 NETWORKING=yes HOSTNAME=coolnull NETWORKING_IPV6=yes PEERNTP=no GATEWAY=*.*.*.*

 
2). 至此ipv6的伺服器端支援已經完成,重啟伺服器測試是否支援ipv6,重啟後(一定要重啟伺服器)

# lsmod | grep ipv6   如果有輸出則已經支援ipv6
ipv6 31818323 sit

2.申請免費通道

1).註冊Tunnel broker(略去)

官網連結

2).點選左側“Create Regular Tunnel”,填寫外網ip,一般選擇Hong Kong HK (亞洲香港)隧道節點,點選Create Tunnel建立

填寫ip都,如果出現“IP is a potential tunnel endpoint.”則證明可以新增ipv6隧道,一般隧道節點系統已經預設分配,但可以手動選擇,大家可以根據自己的實際情況操作


3).到下一頁面切換到Example configurations選項卡,如果你的VPS是centOS/Debian這些常見Linux的話,下拉選單選擇Linux-route2,出現了設定的命令,複製下來在,到自己的linux伺服器上執行。


4).在自己linux伺服器下執行如下命令,如能見到自己之前的ipv6的ip,如X:X:X:X::2即成功了~

ifconfig


3.配置Nginx

1)、準備工作
選首先安裝這幾個軟體:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。
Nginx是C寫的,需要用GCC編譯;Nginx的Rewrite和HTTP模組會用到PCRE;Nginx中的Gzip用到zlib;
用命令“# gcc”,檢視gcc是否安裝;如果出現“gcc: no input files”資訊,說明已經安裝好了。
否則,就需要用命令“# yum install gcc”,進行安裝了!一路可能需要多次輸入y,進行確認。
安裝好後,可以再用命令“#gcc”測試,或者用命令“# gcc -v”檢視其版本號。
同樣方法,用如下命令安裝PCRE,zlib,OpenSSL(其中devel,是develop開發包的意思):

  1. # yum install -y pcre pcre-devel  
  2. # yum install -y zlib zlib-devel  
  3. # yum install -y openssl openssl-devel  

2)、下載並安裝
建立目錄(nginx-src)並進去;然後,從官方地址(http://nginx.org/)下載,解壓,配置,編譯,安裝:
  1. # mkdir nginx-src && cd nginx-src  
  2. # wget http://nginx.org/download/nginx-1.7.3.tar.gz  
  3. # tar xzf nginx-1.7.3.tar.gz   
  4. # cd nginx-1.7.3  
  5. ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-ipv6(注意這個引數是讓Nginx支援ipv6的) 
  6. # make  
  7. # make install  
  8. # whereis nginx  
  9. nginx: /usr/local/nginx  
預設的安裝路徑為:/usr/local/nginx;跳轉到其目錄下sbin路徑下,便可以啟動或停止它了

3).用vi命令,將“注意事項”中的全部配置檔案的server段中的listen,均修改成ip:80的形式(ipv6地址需要用[括起來])

server
{
listen 205.185.117.232:80;
 listen [2607:f358:1:fed5:5:0:538:7]:80;
 listen [2607:f358:1:fed5:5:0:538:8]:80;
 listen [2607:f358:1:fed5:5:0:538:9]:80;
server_name vps.vmvps.com;
index index.html index.htm index.php;
root /home/wwwroot;
....省略...
}

注意事項:修改conf配置檔案是指修改所有網站的conf檔案,包括

/usr/local/nginx/conf/nginx.conf
/usr/local/nginx/conf/vhost/域名1.conf
/usr/local/nginx/conf/vhost/域名2.conf

否則,將有可能出現如下錯誤:

[emerg]: bind() to [2607:f358:1:fed5:5:0:538:7]:80 failed (98: Address already in use)
[emerg]: bind() to [2607:f358:1:fed5:5:0:538:8]:80 failed (98: Address already in use)
[emerg]: bind() to [2607:f358:1:fed5:5:0:538:9]:80 failed (98: Address already in use)

4).執行以下命令,檢視Nginx配置是否正確

/usr/local/nginx/sbin/nginx -t

若返回以下結果則正確

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

5).重啟Nginx生效;

/usr/local/nginx/sbin/nginx -s reload

4.驗證配置是否成功

ping6 你的ipv6地址  如果輸出如下說明已經大功告成了