Blue Coat: Actualización Política de Cache para YouTube

Fecha: 30 de diciembre 2011

COMUNICADO

Estimados,

Debido a los cambios en el nuevo diseño de la página de YouTube y en la forma de presentar los videos se ha implementado una política actualizada para realizar cache de esta página.

Anexo les envío el nuevo código para que actualicen esta política en sus clientes con ProxySG

COMUNICADO

Estimados,

Debido a los cambios en el nuevo diseño de la página de YouTube y en la forma de presentar los videos se ha implementado una política actualizada para realizar cache de esta página.

Anexo les envío el nuevo código para que actualicen esta política en sus clientes con ProxySG

Código:

;updated 7 Dec 2011

<Proxy "YouTube specific caching rewrite"> condition=youtube_related_request

condition=youtube_seek_video_requests ; leave seek requests alone, not caching

condition=youtube_video_range_request ; don't attempt to cache

condition=youtube_video_itag18_request ; don't attempt to cache

condition=youtube_video_request_style1 url.query.regex="itag=34" action.rename_youtubeSD(yes)

condition=youtube_video_request_style2 url.query.regex="itag=34" action.rename_youtube_style2SD(yes)

condition=youtube_video_request_style1 action.rename_youtube(yes)

condition=youtube_video_request_style2 action.rename_youtube_style2(yes)

condition=youtube_host_patterns condition=youtube_video_requests action.rename_youtube_url_hostname(yes)

<Cache "video content">

; YOUTUBE & GOOGLEVIDEO - 10 days

[rule]

condition=youtube_seek_video_requests cache(no)

condition=youtube_video_requests ttl(864000) force_cache(all)

; YOUTUBE DEFINITIONS

;

define condition youtube_related_request

request.header.Referer.exists=yes condition=youtube_referer_present

condition=youtube_host_patterns

end

define condition youtube_host_patterns

url.host.substring="youtube"

url.host.substring="googlevideo"

url.host.is_numeric=yes url.address=youtube_subnets

end

define subnet youtube_subnets

;; these can be fairly broadly drawn, since appearance in here

;; alone does not itself force youtubeization; the request also

;; has to be relatively youtube specific.

;; IE this is an optimization, not a pure correctness filter

; observed in eval logs Mar2010

  1. 74.125.0.0/16 ; GOOGLE NET-74-125-0-0-1
  1. 173.194.0.0/16 ; GOOGLE NET-173-194-0-0-1

;204.246.234.23/24 ; used by cache but assigned to frontiernet.net

;youtube_ARIN_IPs

;IPv4 CIDR:

208.65.152.0/22 ; YOUTUBE

  1. 64.15.112.0/20 ; YOUTUBE2

208.117.224.0/19 ; YOUTUBE3

72.51.34.221/32

72.51.34.222/31

72.51.34.224/29

72.51.34.232/30

72.51.34.236/32

72.51.35.205/32

72.51.35.206/31

72.51.35.208/30

72.51.35.212/32

  1. ; 75.35.233.64/29 ; now sbcglobal

; 75.31.180.240/29 ; now sbcglobal

76.210.160.216/29

76.208.211.160/29

  1. ; 75.48.116.72/29 ; now sbcglobal

75.55.218.8/29

;IPv6 CIDR:

;2620:0000:0040:0000:0000:0000:0000:0000/48

;

;youtube_RIPE_IPs

;IPv4 CIDR:

194.221.68.0/24

195.27.182.0/24

195.59.171.0/24

213.146.171.0/24

  1. 82.129.37.0/24 ; YOUTUBE-EUROPE

89.207.225.0/24

  1. 209.85.128.0/17 ; Seen at Mobily

end

define condition youtube_referer_present

request.header.Referer.url.substring="ytimg"

request.header.Referer.url.substring="youtube"

end

define condition youtube_video_request_style1

url.path.exact="/get_video" url.query.regex="video_id="

end

define condition youtube_video_request_style2

url.path.exact="/videoplayback" url.query.regex="id="

end

define condition youtube_video_requests

condition=youtube_video_request_style1

condition=youtube_video_request_style2

end

define condition youtube_seek_video_requests

url.path.exact=/videoplayback url.query.regex="begin=[1-9]"

url.path.exact=/get_video url.query.regex="begin=[1-9]"

url.query.regex="begin=[1-9]"

end

define condition youtube_video_range_request

url.query.regex="range=[0-9]"

end

define condition youtube_video_itag18_request

url.query.regex="itag=18"

end

define action rename_youtube

;--NOTE the following is one line (approximately 120 characters long)

rewrite(url, "(.+)video_id=([^&]+)(\&.*|$)", "http://youtube.cflo-cache/get_video/$(2)", cache)

end

define action rename_youtube_style2

;--NOTE the following is one line (approximately 120 characters long)

rewrite(url, "(.+)id=([^&]+)(\&.*|$)", "http://youtube.cflo-cache/get_video_style2/$(2)", cache)

end

define action rename_youtubeSD

;--NOTE the following is one line (approximately 120 characters long)

rewrite(url, "(.+)video_id=([^&]+)(\&.*|$)", "http://youtube.cflo-cache/get_video/$(2)_SD", cache)

end

define action rename_youtube_style2SD

;--NOTE the following is one line (approximately 120 characters long)

rewrite(url, "(.+)id=([^&]+)(\&.*|$)", "http://youtube.cflo-cache/get_video_style2/$(2)_SD", cache)

end

define action rename_youtube_url_hostname

rewrite(url.host, ".*", "youtube.cflo-cache", cache)

end

Cordialmente,

Andrés García

Systems Engineer

Blue Coat Systems, Inc.