阿里雲IPV6 創建虛擬機的過程

阿里雲IPV6 創建虛擬機的過程


背景

IPV6 已經越來越廣泛的應用. 
想在外網開通一下IPV6,發現還有一些坑. 
這裏總結一下. 備忘. 

開通方式

1. 登錄阿里雲的控制檯, 打開雲服務器ECS的管理界面
打開想要進行 IPV6 設置的虛擬機. 
進入 實例詳情界面
點擊 配置信息裏面的 -> 虛擬交換機

2. 在交換機的基本信息界面
開啓IPV6
然後路由管理處,驗證已經增加上了IPV6的地址信息. 
再次返回虛擬, 發現ECS已經有了對應的IP地址. 


3. 在專用網絡的管理界面下面
找到 公網訪問 功能分組
點擊IPV6網關
選擇IPV6公網帶寬
選擇具體的IP地址點擊操作下面的 開通公網帶寬
選擇購買指定的公網帶寬值進行購買. 如果僅是功能測試, 建議選擇按使用流量付費就可以了. 

客戶端驗證

可以ping IPV6的地址, 如果通的話一般沒有問題
如果不通,需要如下驗證

第一步, ipconfig 確認一下是否有IPV6的地址, 如果有是否有非 fe80:開頭的IP地址
如果沒有非fe80 開頭的地址, 系統一般是不可訪問的 需要有真實的IPV6地址纔可以訪問. 
這一塊需要與系統管理員確認呢, 後者是開啓手機熱點進行使用. 

第二步, 如果手機熱點也不同,需要考慮手機是否支持ipv6, 如果確定支持, 則需要確認
ECS的防火牆以及例外設置是否打開了.  如果沒有放行也無法使用

Nginx轉發代理的坑

注意發現這邊如果對全站進行了websocket 協議升級的話系統無法登錄. 
會直接提示註銷

有兩個參數是無法用到系統級別的參數上面的
         # proxy_set_header Upgrade $http_upgrade;
         # proxy_set_header Connection "upgrade";
注意 這兩個參數如果放到 根節點上面就會出現 登錄失敗的問題. 

       location / {
             proxy_buffering on;
    proxy_buffer_size 4k;
    proxy_buffers 8 4M;
    proxy_busy_buffers_size 4M;
         add_header 'Access-Control-Allow-Origin' "$http_origin";
         add_header 'Access-Control-Allow-Credentials' "true";
         proxy_http_version 1.1;
         proxy_read_timeout 3600s;
         # proxy_set_header Upgrade $http_upgrade;
         # proxy_set_header Connection "upgrade";
         proxy_pass http://myapp ;
        }

Nginx開啓IPV6的設置

注意nginx 需要打開 針對IPV6的監聽, 不然也可能不通.
開啓的方式也比較簡單  [::] 就可以了. 
server {
     listen  80;
     listen       [::]:80;
     server_name ipv6.jnxlh.online ;
     rewrite ^(.*) https://$server_name$1 permanent;
        }
    server {
        listen       443 ssl;
        listen       [::]:443 ssl;
        server_name ipv6.jnxlh.online ;
        error_page 497 https://$http_host$request_uri;
        ssl_certificate cert/ipv6.pem;
        ssl_certificate_key cert/ipv6.key;
        ssl_session_cache  shared:SSL:1m;
        ssl_session_timeout 5m;
        server_tokens off ;
        proxy_buffer_size   128k;
        proxy_buffers   4 256k;
        proxy_busy_buffers_size   256k;
        proxy_set_header        Host            $http_host;
        proxy_set_header        X-Real-IP       $remote_addr;
        #proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-For $remote_addr;
        valid_referers none blocked server_names;
        if ($invalid_referer = "1") {
            return 403;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章