На работе я не системный администратор, а программист Linux. Но время от времени системные администраторы (которые, как правило, не очень хорошо разбираются в Linux) просят меня о помощи. Сегодня сисадмин попросил меня разрешить доступ только к указанным видео на YouTube с помощью squid v2.6 (почему не 2.7? Вероятно, потому что это то, что было установлено несколькими предшественниками назад ...)
Я добавил строки в squid.conf, чтобы разрешить это одно видео, затем я просмотрел access.log, чтобы найти другие URL-адреса, которые получили TCP_DENIED. В конце концов, мне разрешили их все, и проиграли это одно видео.
acl youtube_allow url_regex ^http://www.youtube.com/v/a17SaWJwBVM$
acl youtube_allow url_regex ^http://www.youtube.com/crossdomain.xml$
acl youtube_allow url_regex ^http://www.youtube.com/get_video_info\?
acl youtube_allow url_regex ^http://s.youtube.com
acl youtube_allow url_regex ^http://www.youtube.com/ptracking\?
acl youtube_allow url_regex ^http://o-o.preferred.*c.youtube.com/videoplayback
http_access allow youtube_allow
acl youtube_domains dstdomain .youtube.com .googlevideo.com
http_access deny youtube_domains
Но в Internet Explorer 8 http://www.youtube.com/v/a17SaWJwBVM отображается пустое окно, и в access.log ничего не отображается как ОТКАЗАНО. Помимо принуждения всех использовать FF (неплохая идея, но, возможно, за пределами наших возможностей), есть ли способ сделать это видимым для пользователей IE?
Обратите внимание, что мы не пытаемся кэшировать видео. На FF все URL-адреса youtube отображаются как TCP_MISS, и это нормально.
Возможно, вы смотрите только то, что в настоящее время находится в вашем веб-кэше.
Как вы знаете, любой администратор прокси в любой сети ДОЛЖЕН признать заголовки nocache и т.д ... Насколько я помню, Youtube заявляет nocache ... Это простой сетевой этикет.
Если вы домашний пользователь, просто установите надстройку FlashGot в Firefox и сохраните файл локально.