阿里雲伺服器支援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 如果有輸出則已經支援ipv6ipv6 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開發包的意思):
- # yum install -y pcre pcre-devel
- # yum install -y zlib zlib-devel
- # yum install -y openssl openssl-devel
2)、下載並安裝
建立目錄(nginx-src)並進去;然後,從官方地址(http://nginx.org/)下載,解壓,配置,編譯,安裝:
- # mkdir nginx-src && cd nginx-src
- # wget http://nginx.org/download/nginx-1.7.3.tar.gz
- # tar xzf nginx-1.7.3.tar.gz
- # cd nginx-1.7.3
- # ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --with-ipv6(注意這個引數是讓Nginx支援ipv6的)
- # make
- # make install
- # whereis nginx
- nginx: /usr/local/nginx
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地址 如果輸出如下說明已經大功告成了