Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [A] Apache: "requre valid-user" aufheben
AUTOR BEITRAG
*al!ve* - will code for food

RANG Master of Clanintern

#1 - 25.05 01:38

Hoi ihr.


Frage kurz erklärt: Wenn ein Objekt "require valid-user" von einem übergeordneten Objekt erbt, kann ich das dann aufheben? Leider gibt es ein "require none" oder "require off" nicht.


Es handelt sich um einen unter Windows XP laufenden Apache 2.2.


Kurz erklärt warum ich das brauche:
Ich hab n paar Services innerhalb meines heimischen Netzwerks, die ich nach außen gerne Verfügbar machen würde. Allerdings würde ich, sofern clientseitig möglich, gerne auf die Verwendung zusätzlicher externer Ports verzichten, stattdessen über einen HTTP-Proxy auf meinem Server der auf Port 80 läuft und die CONNECT-Methode gehen.

Der lokale HTTP-Proxy auf Port 80 ist ein Apache mit mod_proxy und mod_proxy_connect.

Beispiel: OpenVPN läuft bei mir auf Port 19104, ich würde nun gerne meinen Apache so konfigurieren, dass er auf Port 80 eingehende Connect-Anfragen nach "proxy:127.0.0.1:19104" auf 127.0.0.1:19104 weiterletet.

Das tu ich über:
AllowCONNECT 19104

Nun will ich allerdings nicht pauschal alle Anfragen über meinen Proxy erlauben sondern nur bestimmte. Im Beispiel nur die 127.0.0.1:19104. Der Rest soll nur dann möglich sein, wenn ich mich als validen Benutzer angemeldet habe.


Momentane Einstelung:
code:
AllowCONNECT 19104
<proxy *>
  Order deny,allow
  Deny from all
</proxy>
<proxy 127.0.0.1:19104>
  Order deny,allow
  Allow form all
</proxy>


Wie man sieht hab ich nun pauschal alles blockiert, abgesehen von Anfragen nach 127.0.0.1:19104. Läuft soweit.

Wenn ich nun im ersten Block (proxy *) statt "Deny from all" ein "Require valid-user" einbau wirkt sich das leider sowohl auf den ersten Block als auch auf den zweiten aus, weil 127.0.0.1:19104 auch auf * zutrifft. Heißt einfach statt "Deny from all" hier "Require valid-user" zu schreiben bewirkt, dass *alles* nur mit validem Benutzer möglich ist, was aber nicht Ziel der Einstellung ist.


Irgend jemand ne Idee?


Ich werd nun n Bisschen mit proxymatch rumspielen, so kann ich statt * vielleicht ein [^127.0.0.1:19104] oder sowas hinkriegen.
vaest´ark // patrick *circle of confusion*

RANG Master of Clanintern

#2 - 25.05 12:40

[A]? egal.

ich rate mal ins blaue hinein: regeln mal vertauscht? erst die allow-regel, dann die deny-regel?
*al!ve* - will code for food

RANG Master of Clanintern

#3 - 25.05 12:53

In der Kategorieauswahl steht A für Allgemein, ich hätte natürlich auch --- nehmen können .

Und nein, vertauschen der Regeln bewirkt keine Änderung. Liegt wohl daran, dass die "Allow from all"- und "Require valid-user"-Regeln sich nicht überschneiden oder aufheben sondern nebeneinander existieren. Heißt auf "127.0.0.1" wirkt "Allow from all", auf "*" die Allow-Standardeinstellung, die wohl per Default auch "from all" lautet, und zusätzlich wirkt auf * (und damit auch auf 127.0.0.1) noch die Require-Regel.

Ich seh da zwei Möglichkeiten:

Entweder ich krieg s hin, dass sich die Blöcke im Matchingverhalten nicht überschneiden. Heißt der Eine Block definiert "127.0.0.1" und der ander "alles außer 127.0.0.1". Nur krieg ich in dem Fall keinen Regulären Ausdruck hin, der die Negation beinhaltet. Negieren kann ich nur Character-Classes, und innerhalb von [] stehen die Inhalte als Einzelcharacters, nicht als kompletter String.

Oder ich kann das von * vererbte Require in 127.0.0.1 irgend wie aufgehoben.