Jump to content
Froxlor Forum
  • 0
zorbierien

nginx + basic_auth im vhost

Question

Hallo :)

 

Ich habe vor einigen Tagen froxlor installiert mit nginx als Webserver (apache ist nicht installiert).

Ich hab dort auch bisher eine Domain verbunden und dort Wordpress installiert. Soweit funktioniert auch alles super.

 

Ich würde jetzt gern die wp-login.php mit einem basic_auth absichern. Leider zeigen zusätzliche vhost Konfigurationen für PHP-Dateien keine Wirkung, da die zusätzliche vhost-config in Froxlor an der Domain immer ans Ende der Datei platziert wird. Genau darüber befindet sich der "PHP-Teil" von froxlor, der beim Aufruf einer PHP-Datei ausgeführt wird und somit nachgehende Regeln mit php-Dateien wirkungslos macht. Auch Dinge wie deny all funktionieren nicht mit PHP-Dateien.

 

Hat jemand von euch für dieses Problem eine kreative Idee, wie ich einen basic auth auf PHP-Dateien erzeugen kann? "Leider" wird die vHost-Konfiguration von froxlor immer wieder überschrieben, sodass ich direkt in der Datei nichts direkt ändern kann.

Hier der der Teil der vhost-Config:

 

Code

location ~ ^(.+?\.php)(/.*)?$ {

try_files /783be56e9c7e68c35b81b2108851699c.htm @php;

}

location @php {

try_files $1 =404;

include /etc/nginx/fastcgi_params;

fastcgi_split_path_info ^(.+\.php)(/.+)\$;

fastcgi_param SCRIPT_FILENAME $request_filename;

fastcgi_param PATH_INFO $2;

fastcgi_param HTTPS on;

fastcgi_pass unix:/var/run/1-zorbierien-sp-host.de-php-fpm.socket;

fastcgi_index index.php;

}


location ~ readme.html {

deny all;

}


location ~ wp-config.php {

deny all;

}

 

Die letzten beiden locations wurden in der Domain unter "eigene vHost-Einstellungen" eingetragen. Allerdings zeigt so die location wp-config keine Wirkung, nur die HTML-Datei wird blockiert.

Danke schonmal!

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

für basic auth kann doch der kunde in froxlor einen Verzeichnisschutz anlegen, für Dateien speziell dürfte das nicht funktionieren, nie getestet. 

Was du allerdings in der config hast ist ja kein basic auth, sondern ein 'deny' für den zugriff. Jetzt ist das mit der Reihenfolge bei nginx leider immer ein Problem. Manches muss vorher, manches nachher, manches hier und manches da. Alle wünsche kann man leider (aktuell wie es umgesetzt ist) nicht erfüllen. Was froxlor aber macht, ist es führt doppelte (location)blöcke zusammen. Vllt kannst du ja damit was anfangen :) Was ich aber bisher in foren gelesen habe, machen viele diese Einschränkungen z.B. erst nach dem php location block.

Versuchst du es mal mit 

location ^~ wp-config.php {
	deny all;
}

Alternativ ggfls wenn für php der regex nicht mehr so offen ist, das weiss ich allerdings nicht, dann funktionieren auch andere sachen wieder nicht :P

Share this post


Link to post
Share on other sites
  • 0
Zitat

Was froxlor aber macht, ist es führt doppelte (location)blöcke zusammen. Vllt kannst du ja damit was anfangen :)

Das war DER Tipp! Jetzt funktioniert alles, wie gewollt.

Vielen Dank! ;)

  • Haha 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...