• <span id="ycodp"></span>
    <span id="ycodp"><small id="ycodp"></small></span>
    1. <label id="ycodp"></label>
      <rt id="ycodp"><tr id="ycodp"><strike id="ycodp"></strike></tr></rt>
      <i id="ycodp"><strong id="ycodp"><ul id="ycodp"></ul></strong></i>
    2. 幫助中心

      這里有最新的使用文檔和教程

      < 返回

      CDN如何獲取原始的ip c#

      2024-04-23 23:18 作者:31IDC 閱讀量:3131 所屬分類:Linux系統
      CDN在啟著兩個特點: 一是分步式的節點,起到負載均衡、協調跨運營商跨地域訪問的作用;二是節點上的緩存,這無疑可以減少源服務器的負載,節省帶寬
       
        正是由于CDN如上兩個特點,也給網站的管理人員帶來了不少麻煩:
       
      1. 靜態文件版本管理
      CDN的緩存是用戶一般不可控的,且靜態資源(如:js、css、圖片等)的緩存時間非常長,雖然CDN提供商一般都會提供刷新緩存的方法,這種方法在少量更新時可以接受,但如果更新文件過多(如一次升級),則會非常麻煩。可以使用“ 靜態資源(JS、CSS、圖片)版本控制”說的,對靜態資源進行管理,這樣每次升級時即省事又省心。
       
      2. 啟用HTTP壓縮
      HTTP壓縮是網頁優化幾大方法中見效最大的一個,啟用CDN后,HTTP壓縮的配置會比較麻煩。在做完成通常的啟用壓縮方法后,還要 啟用壓縮對HTTP1.0、代理的支持,在IIS下配置如下:
      cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForHttp10 false
      cscript adsutil.vbs set W3SVC/Filters/Compression/Parameters/HcNoCompressionForProxies false
      做完上述配置后,通知CDN提供商,開通HTTP壓縮功能即可。
      而我用的網宿CDN還有其特殊要求,他要求 在響應里增加一個HTTP Header:   Vary: Accept-Encoding 。只有有這個頭部的文件,才會接受壓縮。這個Header可以簡單地在IIS的站點屬性里添加。
       
      3. 獲取客戶端真實IP
      由于訪客不是直接訪問源服務器,跟源服務打交道的都是CDN的節點機器,所以在源服務器抓取到的IP都是節點IP。這對按ip來統計的瀏覽量、網站統計等模塊的影響會比較大。一般來說,CDN節點會以某種方式將源客戶端的IP傳遞給源服務器,就拿我用的網宿CDN來說,它是將源IP添加到了一個叫“Cdn-Src-Ip”的Http Header里,以C#語言為例,獲得客戶端真實IP的方式如下:
      // 網宿的cdn是
      String srcIp = Request.Headers["Cdn-Src-Ip"];    
      if(srcIp == null)    {     
          srcIp = Request.UserHostAddress;
      }
       
      //藍汛的是 
      HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"];
       
      以上內容,根據不同的CDN提供商可能會有所不同,操作前最好咨詢自己的CDN提供商

       

       

       

      1.  
        public static string GetUserIp
      2.  
        {
      3.  
        get
      4.  
        {
      5.  
        string userIP = "未獲取用戶IP";
      6.  
         
      7.  
        try
      8.  
        {
      9.  
        if (HttpContext.Current == null
      10.  
        || HttpContext.Current.Request == null
      11.  
        || HttpContext.Current.Request.ServerVariables == null)
      12.  
        return "";
      13.  
         
      14.  
        string CustomerIP = "";
      15.  
         
      16.  
        //CDN加速后取到的IP
      17.  
        CustomerIP = HttpContext.Current.Request.Headers["Cdn-Src-Ip"];
      18.  
        if (!string.IsNullOrEmpty(CustomerIP))
      19.  
        {
      20.  
        return CustomerIP;
      21.  
        }
      22.  
         
      23.  
        CustomerIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
      24.  
         
      25.  
        if (!String.IsNullOrEmpty(CustomerIP))
      26.  
        return CustomerIP;
      27.  
         
      28.  
        if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
      29.  
        {
      30.  
        CustomerIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
      31.  
        if (CustomerIP == null)

      31IDC - 12 年深耕海外 IDC 高端資源

      主站蜘蛛池模板: 亚洲综合激情六月婷婷在线观看 | 久久久久久久综合| 丁香婷婷色五月激情综合深爱| 国产综合精品一区二区| 五月天色婷婷综合| 久久一日本道色综合久久m| 亚洲欧洲国产综合| 五月综合色婷婷影院在线观看| 狠狠色婷婷综合天天久久丁香| 色综合色天天久久婷婷基地 | 一本色综合网久久| 亚洲伊人久久成综合人影院| 久久久久青草线蕉综合超碰| 色综合蜜桃视频在线观看| 婷婷五月综合色视频| 色综合久久天天综线观看| 精品国产第一国产综合精品| 九九综合九九综合| 伊人久久五月丁香综合中文亚洲| 亚洲AV成人潮喷综合网| 一本一道久久综合久久| 亚洲人成综合在线播放| 五月天激情综合网| 久久亚洲欧洲国产综合| 热の无码热の有码热の综合| 亚洲伊人精品综合在合线| 色婷婷综合久久久中文字幕| 久久九色综合九色99伊人| 色噜噜狠狠狠狠色综合久| 激情五月婷婷综合| 色综合色综合色综合色综合网| 亚洲另类激情综合偷自拍图| 国产精品天干天干在线综合| 色综合蜜桃视频在线观看| 久久综合色之久久综合| 久久久久综合中文字幕| 久久久综合九色合综国产| 亚洲成色在线综合网站| 久久精品国产9久久综合| 亚洲综合综合在线| 加勒比色综合久久久久久久久|