阿里雲(CentOS 7.2)+Nginx配置支持IPV6

這兩天IOS上架遇到一個問題,AppStore要求必須支持IPv6,這個問題令不少人腦仁疼,結合這兩天不斷的嘗試,現將配置過程總結如下,親測可用!

若要滿足AppStore要求應用支持IPV6需確保兩點:
1、待上架的APP應用支持IPV6(這個交由IOS開發人員搭建本地IPV6環境去調試);
2、應用服務器具備支持IPV6(也就是應用部署的服務器)的網絡環境。
本文只講述第2個滿足條件。

一、阿里雲配置
1、編輯 vim /etc/modprobe.d/disable_ipv6.conf文件(需要root權限) 
disable 設置成 0
2、編輯 vim /etc/sysconfig/network 文件(需要root權限) 
NETWORKING_IPV6 設置成 yes

然後執行service network restart重啓
3、編輯vim /etc/sysctl.conf 文件(需要root權限)

然後運行sysctl -p 的命令,啓用IPv6 (需要root權限)
4、驗證是否開啓IPV6
執行命令ip addr查看是否已經有 inet6 的地址,如果有說明已經開啓ipv6


二、IPV6隧道配置
1、https://tunnelbroker.net註冊並登陸;
2、左側點擊Create Regular Tunnel創建一個隧道規則===>IPv4 Endpoint 需要些服務器的外網IP地址===>選擇一個隧道服務器===>這裏選擇了“亞洲香港”


查看Tunnel信息

紅框裏面的 Client IPv6 Address 就是你的IPv6 地址,之後解析域名(AAAA解析)的時候用的就是它(域名裏不用寫“/64”)
配置信息

重點:選擇IP的方式設置(這裏選擇的是Linux-route2),然後將文本框中local IP需改成內網IP(這兩個IP在阿里雲後臺都能看到),複製文本框中的內容到CentOS環境下執行。
3、執行命令ping6 he.net

能ping通說明已經配置成功。
4、配置DNS解析,將域名指向IPV6的地址即可,需要用AAAA記錄 
AAAA xxxx 2001:xxxxx 即:AAAA 訪問前綴 IPV6地址
解析之後可以用 wget -6 http://xxxxxxx 來驗證你的解析是否正確以及IPV6是否成功。如果能獲取到網頁信息,說明一切正常。(https同理)

三、Nginx配置
1、nginx開啓IPV6支持配置
到nginx的sbin目錄,cd /usr/local/nginx/sbin,執行命令./nginx -V

若沒有出現--with-ipv6,說明當前的nginx不支持ipv6,我們需要重新編譯Nginx,配置裏面增加--with-ipv6
2、重新編譯Nginx
1)解壓Nginx安裝包: tar xvzf nginx-1.10.3.tar.gz
2)跳轉到解壓過後的目錄:cd nginx-1.10.3
3)執行命令配置新的參數,加入 ipv6模塊,命令如下:
./configure \--prefix=/usr/local/nginx \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--with-http_gzip_static_module \--http-client-body-temp-path=/var/temp/nginx/client \--http-proxy-temp-path=/var/temp/nginx/proxy \--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-ipv6 \
--with-http_ssl_module
4)配置完畢後,執行make 命令,重新編譯
5)編譯完畢後,會在當前目錄下創建objs目錄,新的nginx執行文件將生成在該目錄中,替換nginx執行文件,執行以下命令:
./nginx -s stop#關閉Nginx
cp objs/nginx /usr/local/nginx/sbin#覆蓋原有Nginx執行文件
./nginx#啓動Nginx
./nginx -V#檢查nginx是否已經支持ipv6
3、nginx配置ipv6監聽
vim /usr/local/nginx/conf/nginx.conf
添加一條:listen [::]:80 ipv6only=on;

重新加載Nginx配置文件:
./nginx -s reload

四、測試IPV6
打開網站http://ipv6-test.com/validate.php,輸入完整域名

測試結果如下:


說明應用服務器已具備支持IPV6的網絡環境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章