"Client denied by server" vs. AllowOverride All

Alles, was den Apache betrifft, kann hier besprochen werden.

"Client denied by server" vs. AllowOverride All

Postby Sysop » 28. January 2007 00:48

Hallo, ich habe ein sehr komisches Problem seit ich einen neuen Server aufgesetzt habe.
zur Konfiguration:
debian, Apache/2.2.3

Also, ich hatte schon am Anfag bei manchen Sachen (ein Blog und ein Wiki) das Problem, das manche Bilder nicht geladen wurden. Im Log steht dann
Code: Select all
[...] client denied by server configuration [...]

Ruft man die Grafik allerdings direkt auf wird sie geladen. Es ist also kein (Datei-)Rechte Problem!

Das ganze tritt nur auf, wenn ich im jeweiligen vhost
Code: Select all
AllowOverride All

stehen habe.

Stelle ich es auf
Code: Select all
AllowOverride Options

kommt ein Server error, da in der .htaccess Sachen verstellt werden wollen.

kennt jemand das Problem? Am merkwuerdigsten ist ja dass ein client denied kommt obwohl man die datei einzeln aufrufen kann.

Ich weiss echt nicht mehr weiter....

Meldet euch wenn ihr mehr Infos braucht...

Ich bin dankbar fuer JEDEN Tipp oder JEDE Idee!







Was ich noch sagen wollte:
ich hab 5 anlaeufe gebraucht um mich anzumelden. Wollt ihr nicht sowas wie " Was ist der beste Webserver? (natuerlich apache) " machen?
das raffen die ganzen bots auch nicht.
Sysop
 
Posts: 6
Joined: 28. January 2007 00:33

Postby Wiedmann » 28. January 2007 00:57

das Problem, das manche Bilder nicht geladen wurden.
Code: Select all
[...] client denied by server configuration [...]

Gibt's das auch ohne Punkte?

Ruft man die Grafik allerdings direkt auf wird sie geladen.

Und wie lautet da die URI im Browser? (<url-path> der URI)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Sysop » 28. January 2007 01:14

aber sicher:

Code: Select all
[Sun Jan 28 00:28:50 2007] [error] [client 212.xxx.xxx.xx] client denied by server configuration: /home/dvd/site/bmsforum/Smileys/default/wink.gif, referer:
http://hierstanddiedomain/



Die URI vom Bild habe ich mittels "Grafikadresse kopieren" geholt, also

Code: Select all
http://hierstanddiedomain/Smileys/default/wink.gif



DocumentRoot ist natuerlich /home/dvd/site/bmsforum/
Sysop
 
Posts: 6
Joined: 28. January 2007 00:33

Postby Wiedmann » 28. January 2007 01:29

http://hierstanddiedomain/Smileys/default/wink.gif

Hm. Also wenn das tut.


DocumentRoot ist natuerlich /home/dvd/site/bmsforum/
Code: Select all
[Sun Jan 28 00:28:50 2007] [error] [client 212.xxx.xxx.xx] client denied by server configuration: /home/dvd/site/bmsforum/Smileys/default/wink.gif, referer:
http://hierstanddiedomain/

Und hier ein Fehler auftritt. Dann ist das fast seltsam ;-)

Beide Zugriffe sind ohne zwischenzeitlicher Änderung der Config passiert?

Das ganze tritt nur auf, wenn ich im jeweiligen vhost "AllowOverride All" stehen habe.

Also VHost für das DocumentRoot das du oben angegeben hast?

Was steht denn in der ".htaccess" in diesem Verzeichnis alles drin?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Sysop » 28. January 2007 01:45

Wiedmann wrote:Beide Zugriffe sind ohne zwischenzeitlicher Änderung der Config passiert?


jepp, immer wieder reproduzierbar

Also VHost für das DocumentRoot das du oben angegeben hast?

Was steht denn in der ".htaccess" in diesem Verzeichnis alles drin?


ja

ist von einem Simple Machines Forum
Code: Select all
SetEnvIfNoCase Referer "^http://www.localhost/" locally_linked=1
SetEnvIfNoCase Referer "^http://localhost/" locally_linked=1
SetEnvIf Referer "^$" locally_linked=1
<FilesMatch "\.(gif|png|jpe?g)$">
  Order Allow,Deny
  Allow from env=locally_linked
</FilesMatch>




mehr daten: (DOMAIN ist eben die domain, mehrmals gecheckt)
Code: Select all
<VirtualHost *:80>
        ServerAdmin webmaster@DOMAIN
        ServerName bDOMAIN
        DocumentRoot /home/dvd/site/bmsforum/
        <Directory /home/dvd/site/bmsforum/>
                 Options Indexes FollowSymLinks MultiViews

                AllowOverride Options
                Order allow,deny
                allow from all
        </Directory>

        AddDefaultCharset iso-8859-1
        LogLevel warn
        ErrorLog /var/log/apache2/DOMAIN/error.log
        CustomLog /var/log/apache2/DOMAIN/access.log combined
        ServerSignature Off
</VirtualHost>




Wenn ich die .htaccess loesche (weis eh nicht ganz was die machen soll) und AllowOverride auf Options setze gehts. Wenn die .htaccess da ist kommt ein Server Fehler (SetEnvIfNoCase not allowed here)
Wenn ich dann AllowOverride auf All setze werden keine Bilder angezeigt und die client denied Meldungen kommen.


Aus der apache2.conf:
Code: Select all
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
</Directory>

Sysop
 
Posts: 6
Joined: 28. January 2007 00:33

Postby Wiedmann » 28. January 2007 02:00

Wenn ich die .htaccess loesche (weis eh nicht ganz was die machen soll) und AllowOverride auf Options setze gehts.

Es sollte dann aber auch funktionieren, wenn du nur die ".htaccess" löscht (ohne das AllowOverride zu ändern)?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Sysop » 28. January 2007 02:05

edit:

natuerlich, so hab ichs ja jetzt auch gemacht, doch schon was spaet jetzt...

aber das problem an sich ist schon sehr interessant!
Last edited by Sysop on 28. January 2007 02:20, edited 1 time in total.
Sysop
 
Posts: 6
Joined: 28. January 2007 00:33

Postby Wiedmann » 28. January 2007 02:17

2. AllowOverride Options --> server error, nur eine error page

Die Frage war aber:
".htaccess" gelöscht plus "AllowOverride Options"?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Sysop » 28. January 2007 02:22

sorry, hatte nicht gesehen dass du schon geantwortet hast.
stimmt natuerlich jetzt
Sysop
 
Posts: 6
Joined: 28. January 2007 00:33

Postby Wiedmann » 28. January 2007 02:29

natuerlich, so hab ichs ja jetzt auch gemacht, doch schon was spaet jetzt...

Schön. Ich schätte mal es liegt an den Reglen wo der referrer überprüft wird.

Das schau ich mir aber nicht mitten in der Nacht an ,-)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Wiedmann » 28. January 2007 04:29

Das schau ich mir aber nicht mitten in der Nacht an ,-)

Naja, sag niemals nie *g*


aber das problem an sich ist schon sehr interessant!

Eigentlich jetzt nicht mehr. Ich geh jetzt einfach mal davon aus, dass du diese ".htaccess" unverändert hier gepostet hast.

Code: Select all
SetEnvIfNoCase Referer "^http://www.localhost/" locally_linked=1
SetEnvIfNoCase Referer "^http://localhost/" locally_linked=1
SetEnvIf Referer "^$" locally_linked=1

Wenn der Referer den dein Browser überträgt:
- mit "http://www.localhost/" anfängt
- mit "http://localhost/" anfängt
- leer ist
dann setzte die ENV-Variable "locally_linked" auf "1".

Code: Select all
<FilesMatch "\.(gif|png|jpe?g)$">
  Order Allow,Deny
  Allow from env=locally_linked
</FilesMatch>

Erlaube den Zugriff auf gif-, png-, jpg-, jpeg-Dateien nur, wenn die ENV-Variable "locally_linked" auf "1" gesetzt ist. ansonsten verbiete den Zugriff.


Was ist passiert:
http://hierstanddiedomain/Smileys/default/wink.gif

- Du rufst das Bild direkt im Browser auf.
- Dadurch ist der Referer leer.
- Die ENV-Variable "locally_linked" wird auf "1" gesetzt.
- Du erhälst die Erlaubnis für den Zugriff

Code: Select all
[Sun Jan 28 00:28:50 2007] [error] [client 212.xxx.xxx.xx] client denied by server configuration: /home/dvd/site/bmsforum/Smileys/default/wink.gif, referer:
http://hierstanddiedomain/

- Das Bild ist aus deiner Webseite heraus verlinkt.
- Der Referer beginnt mit "http://hierstanddiedomain/"
- dieser Referer:
- a) fängt nicht mit "http://www.localhost/" an
- b) fängt nicht mit "http://localhost/" an
- c) ist nicht leer
- Die ENV-Variable "locally_linked" wird nicht auf "1" gesetzt.
- Du erhälst keine Erlaubnis für den Zugriff


(Das Ganze ist also ein pseudo Bilderklauschutz)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Sysop » 28. January 2007 12:41

die .htaccess ist also beim upgrade nicht sonderlich beachtet worden, hab da jetzt die domain eingetragen und jetzt geht es, schon mal danke.
Immer schoen wenn es am Ende doch Sinn ergibt. Allerdings gab es das an anderer Stelle auch schon mal, ich guck mir das nochmal an und melde mich dann evt. nochmal!
Sysop
 
Posts: 6
Joined: 28. January 2007 00:33


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests