LimitRequestBody - Directory/Location

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

LimitRequestBody - Directory/Location

Postby andreas_ » 13. July 2015 13:59

Hallo Forum,

ich benutze mod_dav_svn für einige SVN-Repos mit einer Upload-Beschränkung von 15MB.
Das Ganze ist ungefähr so konfiguriert:
Code: Select all
<Location /svn/>
    SSLRequireSSL

    # Groessenbeschraenkung
    # 15 MB
     LimitRequestBody 15728640
    # 30 MB
    # LimitRequestBody 30720000
    # 50 MB
    # LimitRequestBody 51200000

    DAV svn
    SVNParentPath /data/svn/repos
   SVNListParentPath on

    AuthType Basic
    AuthName "Anmeldung mit AD-User"
    AuthBasicProvider ldap
    AuthzLDAPAuthoritative on
    AuthLDAPURL "ldap://server:3268/DC=epos,DC=lan?sAMAccountName?sub?(objectClass=user)"
    Include /root/.apache/_service.svn
    require valid-user
    # access control policy
    AuthzSVNAccessFile /data/svn/svn_acl.txt

  </Location>


Nun möchte ich für eins der Repos die Größenbeschränkung über LimitRequestBody anpassen und habe dazu ein Directory definiert:

Code: Select all
<Directory /data/svn/repos/reponummer1>
LimitRequestBody 51200000
</Directory>

Allerdings wird diese Konfiguration einfach ignoriert, d.h wenn ich testweise LimitRequestBody in der Location Direktive auskommentiere können beliebig große Dateien hochgeladen werden.

Ich bin mir recht sicher dass ich irgendwo einen Denkfehler eingebaut habe über Hinweise wäre ich dankbar ;)
andreas_
 
Posts: 4
Joined: 13. July 2015 12:39
Operating System: -

Re: LimitRequestBody - Directory/Location

Postby Nobbie » 13. July 2015 14:15

Die Konfiguration ist insofern unlogisch, als dass Du einmal "Location" benutzt (also ein Bestandteil der URL), das andere Mal "DIrectory" (also der physikalische Speicherort). Wenn die URL "svn" enthält und gleichzeitig das Zielverzeichnis dem o.g. Verzeichnis entspricht, welche Anweisung soll Apache denn befolgen?? Ich selbst weiß nicht, welche Anweisung Vorrang hat und die Konfiguration ist keine prozedurale Sprache, d.h. die Reihenfolge der Anweisungen wird nicht berücksichtigt.

Besser wäre es, wenn Du nur "Location" oder nur "Directory" benutzt, um die Größe einzuschränken.
Nobbie
 
Posts: 8761
Joined: 09. March 2008 13:04

Re: LimitRequestBody - Directory/Location

Postby Altrea » 13. July 2015 14:17

<Location> Blöcke überschreiben <Directory> Blöcke.
http://httpd.apache.org/docs/2.4/sections.html#merging
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8286
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: LimitRequestBody - Directory/Location

Postby Nobbie » 13. July 2015 14:23

Altrea wrote:<Location> Blöcke überschreiben <Directory> Blöcke.
http://httpd.apache.org/docs/2.4/sections.html#merging


Was zu vermuten war...
Nobbie
 
Posts: 8761
Joined: 09. March 2008 13:04

Re: LimitRequestBody - Directory/Location

Postby andreas_ » 13. July 2015 14:49

Hey,

Danke für die Antworten, ich hatte schon folgendes versucht:

-LimitRequestBody im Location auskommentiert
-LimitRequestBody für jeden Ordner einzeln per Directory definiert

Ergebnis: Upload beliebiger großer Dateien möglich....
Ergo kann es zumindestens nicht nur am override liegen :?
andreas_
 
Posts: 4
Joined: 13. July 2015 12:39
Operating System: -

Re: LimitRequestBody - Directory/Location

Postby Nobbie » 13. July 2015 22:36

Wer hat wo irgendetwas von Override geschrieben???
Nobbie
 
Posts: 8761
Joined: 09. March 2008 13:04

Re: LimitRequestBody - Directory/Location

Postby andreas_ » 14. July 2015 07:47

Altrea wrote:<Location> Blöcke überschreiben <Directory> Blöcke.
http://httpd.apache.org/docs/2.4/sections.html#merging
andreas_
 
Posts: 4
Joined: 13. July 2015 12:39
Operating System: -

Re: LimitRequestBody - Directory/Location

Postby Nobbie » 14. July 2015 14:27

Alrea hat den deutschen Begriff "überschreiben" benutzt und wenn Du in einem deutschem Forum Hilfe suchst, solltest Du begreifen, dass man eindeutig formuliert. "Override" ist eine Apache Konfigurationsanweisung, die durchaus im Kontext eine Rolle spielen könnte, da Du "ungefähr so" (und nicht genau) die Konfiguration aufgebaut hast.

Mir ist das vollkommen egal, ob Dein Zeug läuft oder nicht.
Nobbie
 
Posts: 8761
Joined: 09. March 2008 13:04

Re: LimitRequestBody - Directory/Location

Postby andreas_ » 14. July 2015 14:57

Nobbie wrote:Alrea hat den deutschen Begriff "überschreiben" benutzt und wenn Du in einem deutschem Forum Hilfe suchst, solltest Du begreifen, dass man eindeutig formuliert. "Override" ist eine Apache Konfigurationsanweisung, die durchaus im Kontext eine Rolle spielen könnte, da Du "ungefähr so" (und nicht genau) die Konfiguration aufgebaut hast.

Mir ist das vollkommen egal, ob Dein Zeug läuft oder nicht.

Wow, Danke für dein Feedback, bitte antworte hier einfach nicht mehr.
andreas_
 
Posts: 4
Joined: 13. July 2015 12:39
Operating System: -

Re: LimitRequestBody - Directory/Location

Postby Nobbie » 14. July 2015 22:59

andreas_ wrote:Wow, Danke für dein Feedback, bitte antworte hier einfach nicht mehr.


Gerne. Viel Glück.
Nobbie
 
Posts: 8761
Joined: 09. March 2008 13:04

Re: LimitRequestBody - Directory/Location

Postby glitzi85 » 15. July 2015 22:42

Das Problem ist vermutlich dass das Subversion-Modul nicht in dem Sinne auf das Directory zugreift sondern vermutlich über die svn-API. Daher musst du das im Apache auch in einem Location-Block laufen lassen und nicht in einem Directory-Block.

Verwende also einfach Location anstelle von Directory, da das ja von svn auf das Repo gemappt wird.

Code: Select all
<Location /svn/>
    SSLRequireSSL

    # Groessenbeschraenkung
    # 15 MB
     LimitRequestBody 15728640
    # 30 MB
    # LimitRequestBody 30720000
    # 50 MB
    # LimitRequestBody 51200000

    DAV svn
    SVNParentPath /data/svn/repos
   SVNListParentPath on

    AuthType Basic
    AuthName "Anmeldung mit AD-User"
    AuthBasicProvider ldap
    AuthzLDAPAuthoritative on
    AuthLDAPURL "ldap://server:3268/DC=epos,DC=lan?sAMAccountName?sub?(objectClass=user)"
    Include /root/.apache/_service.svn
    require valid-user
    # access control policy
    AuthzSVNAccessFile /data/svn/svn_acl.txt

    <Location /svn/reponummer1>
        LimitRequestBody 51200000
    </Location>

  </Location>
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests