четверг, 3 сентября 2015 г.

Squid и кэширование Yandex Maps

Это почти так же просто, как и кэширование 2gis. Дело, собственно говоря, в следующем. Яндекс Карты и 2gis устроены настолько сходно, что невольно возникает вопрос, кто у кого что спёр.

Итак.

 acl store_rewrite_list_web url_regex "/usr/local/squid/etc/url.rewrite_web"   
     
 cat /usr/local/squid/etc/url.rewrite_web:   
   
  # Yandex maps  
  vec[\d][\d]\.maps\.yandex\.net  
  lrs\.maps\.yandex\.net  
  stv\.maps\.yandex\.net   
     
 cat /usr/local/squid/etc/squid.conf:   
   
  # Storeurl rewriter   
  store_id_program /usr/local/squid/libexec/storeid_file_rewrite /usr/local/squid/etc/storeid.conf   
  store_id_children 32 startup=0 idle=1 concurrency=0   
  # Store ID access   
  store_id_access deny !GET   
  store_id_access allow store_rewrite_list   
  store_id_access allow store_rewrite_list_web   
  store_id_access allow store_rewrite_list_web_cdn   
  store_id_access deny all   
  store_id_bypass off   
     
 cat /usr/local/squid/etc/storeid.conf:   
    
  vec[\d][\d]\.maps\.yandex\.net\/tiles\?.*x=([^&]+).*&y=([^&]+).*&z=([^&]+).*&lang=([^&]+)   http://ymaps-vec.squidinternal/$1/$2/$3/$4  
  lrs\.maps\.yandex\.net\/tiles\?.*x=([^&]+).*&y=([^&]+).*&z=([^&]+).*&lang=([^&]+)  http://ymaps-lrs.squidinternal/$1/$2/$3/$4  
  stv\.maps\.yandex\.net\/images\/.*oid=([^&]+).*x=([^&]+).*&y=([^&]+).*&z=([^&]+)   http://ymaps-stv.squidinternal/$1/$2/$3/$4  
    

That's all, folks!