[apache2 + ProxyPass(Reverse) + FilesMatch] Nergens match

Pagina: 1
Acties:
  • 201 views sinds 30-01-2008
  • Reageer

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Heren

Ik heb onlangs op een van onze (debian/woody) dev-servers apache geupgrade van apache_1.3.27-0.1.ipv6.r2 naar apache2_2.0.50-10.backports.org.1.
Om de overgang smooth te laten gaan heb ik de prefork mpm geïnstalleerd.
Alles lijkt goed te gaan behalve 1 ding.
Op deze machine draait edna, een python script wat een http server is en mp3 bestanden streamt. Dit programma werkt goed alleen is de authenticatie nogal ruk, vandaar dat ik hem alleen laat luisteren op localhost en vervolgens apache met ProxyPass en ProxyPassReverse de boel laat proxy-en en van de uitgebreide authenticatie mogelijkheden van apache gebruik maak.
De toegang is op basis van IP of login/pass.
Daarnaast had ik een FilesMatch directive waardoor de MP3 bestanden alleen door bepaalde user-agents geluisterd kon worden (dit als eenvoudige bescherming tegen URL's in browser inkloppen en Save As doen - heeft niet veel om het lijf - I know).
Helaas krijg ik dit niet meer aan het werk in apache2 :'(

Hier is de config van die vhost:
<VirtualHost 192.168.1.1:35719>
ServerName edna.cajones.com
SetEnvIf User-Agent ^WinampMPEG player
SetEnvIf User-Agent ^RMA/1.0 player
SetEnvIf User-Agent ^QuickTime player
SetEnvIf User-Agent ^WinampMacMPEG/0.06 player

<FilesMatch "\.[mM][pP]3$">
<Limit GET>
Order Deny,Allow
Allow from env=player
Deny from env=!player
deny from all
</Limit>
</FilesMatch>

<Location />
AuthName "Edna Streaming MP3 Archive"
AuthType Basic
AuthUserFile /etc/edna/edna.users
<Limit GET>
require valid-user
satisfy any
order deny,allow
deny from all
allow from x.x.x.x
allow from y.y.y.y
</Limit>
</Location>
ProxyPass / http://localhost:39999/
ProxyPassReverse / http://localhost:39999/
</VirtualHost>


Zelfs als ik alleen "deny from all" in het FilesMatch blok zet werkt het niet 8)7

Edit - alles werkt behalve het Filesmatch blok. De files zijn altijd op te vragen.
Zelfs als ik:

<FilesMatch \.[mM][pP]3$>
deny from all
</FilesMatch>

doe krijg ik ze nog te zien.

Als ik dit statement in een 'gewone' vhost zet werkt hij echter wel (krijg dan geen mp3 files).

[ Voor 15% gewijzigd door usr-local-dick op 03-10-2004 13:56 . Reden: klein typefoutje ]


  • Koffie
  • Registratie: Augustus 2000
  • Laatst online: 20:24

Koffie

Koffiebierbrouwer

Braaimeneer

Euh .. je doet een uitgebreide topicstart maar sluit vervolgens af met 'het werkt niet' :?

*wat* werkt er niet ? Watr voor error krijg je op je browser ?
Wat zeggen je error/access logs ?

Tijd voor een nieuwe sig..


  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Het blijkt dat in plaats van Location en FilesMatch je nu Proxy en ProxyMatch moet gebruiken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<VirtualHost 192.168.1.1:35719>
ServerName edna.cajones.com

SetEnvIf User-Agent ^WinampMPEG player
SetEnvIf User-Agent ^RMA/1.0 player
SetEnvIf User-Agent ^QuickTime player
SetEnvIf User-Agent ^WinampMacMPEG/0.06 player

<ProxyMatch /*mp3>
Order Deny,Allow
Allow from env=player
Deny from env=!player
deny from all
</ProxyMatch>

<Proxy />
AuthName "Edna Streaming MP3 Archive"
AuthType Basic
AuthUserFile /etc/edna/edna.users
require valid-user
satisfy any
order deny,allow
deny from all
allow from x.x.x.x
allow from y.y.y.y
</Proxy>

ProxyPass / http://localhost:39999/
ProxyPassReverse / http://localhost:39999/

</VirtualHost>