Dans mon travail, je ne suis pas le systadmin mais un programmeur linux. Mais de temps en temps, les administrateurs système (qui ne sont généralement pas très au fait de Linux) me demandent de l'aide. Aujourd'hui, le sysadmin m'a demandé de n'autoriser l'accès qu'à certaines vidéos YouTube avec squid v2.6 (pourquoi pas 2.7 ? probablement parce que c'est ce que plusieurs prédécesseurs ont installé il y a quelques années...).
J'ai ajouté des lignes à squid.conf pour autoriser cette vidéo, puis j'ai regardé access.log pour d'autres URL qui ont obtenu TCP_DENIED. Finalement, elles ont toutes été autorisées et la vidéo a été diffusée.
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
Mais sur Internet Explorer 8, http://www.youtube.com/v/a17SaWJwBVM affiche une fenêtre vide, et rien n'apparaît dans access.log comme DENIED. À part forcer tout le monde à utiliser FF (ce n'est pas une mauvaise idée, mais c'est peut-être au-delà de nos capacités), y a-t-il un moyen de rendre cela visible par les utilisateurs d'IE ?
Notez que nous n'essayons pas de mettre la vidéo en cache. Sur FF, toutes les URL de youtube apparaissent comme TCP_MISS et c'est très bien.