1. 程式人生 > >阿里雲(CentOS 7.2)+Nginx配置支援IPV6

阿里雲(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隧道配置 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
測試結果如下:
說明應用伺服器已具備支援IPV6的網路環境