Raspberry Pi-Home-Server – Der Zugriff auf Ihre Websites mit Nginx

Wenn diese Website-Tutorials, Ich verwende ausschließlich Nginx. Ich finde es mächtig, Leichte und einfache Konfiguration. Noch ist eine Bemerkung, dass ich es nie Ansatz die sichere sites. Wir bemühen uns, sie heute zu lösen !

computer_laptop_keyboard_padlock

Wann hat Frau Bedenken mit seinem Wirt, Abwesenheiten, die immer öfter zurückgeben, Sie fragte mich, ob wir etwas tun könnten. Also dachte ich, ein neues Spielzeug, WordPress installieren zu nehmen. Ich bestellte mein neues Himbeer ft zu verkaufen chez Radio Spares et suis prêt à me lancer dans l’auto hébergement 🙂

Nur das ist, Wann werden wir ihre Website oder das Web-Interface von seiner Lieblings-Tool implementieren., Es ist mit dem Ergebnis zufrieden und es stoppt dort oft einmal getan. Gibt es noch einen Meilenstein nicht, es zu vernachlässigen ist, sichern die Seite und Zugriffskontrolle.

Einige Werkzeuge wie zum Beispiel Raspcontrol zum Beispiel integriert Verwaltung von Benutzern. Aber andere (Übertragung, rTorrent, und so weiter.) sind direkt zugänglich. Sie können zwei Methoden verwenden, um diesen Zugang mit Nginx zu beschränken.

Am Anfang, Sie können folgen Dieses tutorial Installation von Nginx mit PHP-Unterstützung. Als Nächstes erstellen wir 3 für unsere Demoseiten. Geschieht alles /Var/www :

  1. Erstellen Sie die Datei /Etc/Nginx/Standorte-aktiviert/tutorial mit folgendem Inhalt :
    Server {
    
       # Wir arbeiten an dem Port hören 80;
    
       # Name des Servers durch Nginw Server_name tutorial;
    
       # Root oder Root/Var/Www-Dateien;
    
       # Alle Access-Dateien zu verbieten. Dies ist die oder speichern wir Anmeldungen/Passwd mieten ~ .ht {
    
          Alle verweigern;
    
       }
    
       # Was wird angezeigt, wenn sie eine Verweigerung des Zugangs erzeugt (HTTP-Fehler 403)
    
       Fehler 403 /refus.html;
    
       # Das wird an der Basis des Servers durchgeführt (Dateien in/Var/www)
    
       Lage / {
    
          # Standardmäßig zeigt sie index.html Index index.html;
    
       }
    
       # Was wird in das Verzeichnis Teil1 mieten /part1/ erfolgen {
    
          # Standardmäßig zeigt sie index.html Index index.html;
    
          # Kein Zugriff auf die IP-Adresse 192.168.1.10
    
          verweigern 192.168.1.1O;
    
          # Alle IP-Netzwerk 192.168.1.0 berechtigt sind. Mit Ausnahme der 192.168.1.10 Dank der vorherigen Regel.
    
          ermöglichen 192.168.1.0/24;
    
          # Alle anderen IP verweigert werden, verweigern alle;
    
       }
    
       # Was erfolgt in der Verzeichnis-part2-Vermietung-/part2/ {
    
          # Standardmäßig zeigt sie index.html Index index.html;
    
          # Angezeigt werden soll, wenn der Anmeldename und Kennwort-Auth_basic "Bitte identifizieren";
    
          # Oder ist Ihr login. Der Weg ist vollständig und damit verbundenen Auth_basic_user_file / $Document_root/part2/Vos_users;
    
       }
    
    }
  2. Starten Sie Nginx
    Nginx Dienstneustart
  3. Erstellen Sie die Datei /Var/www/index.html mit folgendem Inhalt :
    <HTML>
    
    <Körper>
    
    Dies ist die index.html Seite
    
    </Körper>
    
    </HTML>
  4. Erstellen Sie die Datei www/refus.html mit folgenden Inhalt-/var/ :
    <HTML>
    
    <Körper>
    
    Zugriff verweigert
    
    </Körper>
    
    </HTML>
  5. Erstellen Sie das Verzeichnis/Var/Www/Teil1/und erstellen Sie die Datei Index.html mit folgendem Inhalt
    <HTML>
    
    <Körper>
    
    Dies ist die Seite /part1/index.html
    
    </Körper>
    
    </HTML>
  6. Erstellen Sie das Verzeichnis/Var/Www/part2/und erstellen Sie die Datei Index.html mit folgendem Inhalt
    <HTML>
    
    <Körper>
    
    Dies ist die Seite /part2/index.html
    
    </Körper>
    
    </HTML>
  7. Sie jetzt was zu tun ist der erste Test

Den Zugriff auf bestimmte IP beschränken

Nginx erlaubt die Konfiguration die IP Filtern, die mit dem Computer herstellen, wird. Anleitung die Zugriffsregeln verwalten :

  • ermöglichen : ermöglicht die folgenden IP-Netzwerk zum Herstellen einer Verbindung mit des Servers
  • verweigern : weigert sich Folgendes IP Netzwerk zum Herstellen einer Verbindung mit des Servers

Die Werte dieser beiden Parameter kann ein IP-v4, IP v6, eine Netzwerkmaske oder Wert Alle Das öffnet oder schließt für alle.

In unserem Beispiel, die IP-Adresse 192.168.1.10 keine Verbindung zu dem Teil /Teil1. und werden zur Seite weitergeleitet refus.html (Dank der Anweisung Fehler). Dann Autorisieren des Netzes 192.168.1.x und schließlich alles ist verboten.

Sobald Ihre IP in der Regel entspricht, das Steuerelement gilt ohne Berücksichtigung der folgenden Regeln. Dies ist, was erlaubt, die IP-Adresse auszuschließen 192.168.1.10 Netzwerk 192.168.1.0 offen steht.

Die Alle verweigern die Tür alles schließen, die in den vorherigen Regeln nicht geöffnet wurde. Keine schlechte Idee, wenn es nicht um eine öffentliche Website wünscht.

Der Zugang mit Login und Passwort

Wenn die Verwaltung der IP ist nicht das, was Sie brauchen, Eine andere Lösung ist die klassische Anmeldung mit Passwort. Hier kann Nginx für Sie tun.. Keine Notwendigkeit, durch die PHP-Schalters.

Dafür verwenden Sie die Anweisungen wie in unserem Beispiel im Block, dass Sie daran interessiert sind :

      auth_basic "Bitte identifizieren";

      Auth_basic_user_file/part2/vos_users;

Diese Anweisungen zeigt eine Nachricht an den Benutzer, der versucht, auf das Verzeichnis zugreifen part2.

Capture_d_écran_29_05_13_21_48

Die Zugriffssteuerung erfolgt durch Überprüfung der Daten mit dem Inhalt der Datei in den Parameter eingegeben auth_basic_user_file, in unserem Beispiel die Datei /part2/vos_users. Sie sollten wissen, dass diese Datei nicht im geschützten Verzeichnis sollte, sondern es muss vom Benutzer zugänglich sein Www - Daten Das ist derjenige der Nginx-Server verwendet. Beispielsweise können Sie es mit sichern. :

chmod 640 /Var/Www/part2/vos_users
Chown root:Www - Daten/Var/Www/part2/vos_users

Der Inhalt dieser Datei ist eine Liste der Benutzer, die mit dem zugehörigen Kennwort verbinden können. Das Format ist :

Benutzer:Passwort

Das Kennwort muss mit dem Crypt-Funktion codiert sein. Um einen Eintrag hinzuzufügen, nichts leichter ! Sie können den folgenden Befehl zum Hinzufügen des Benutzers ausführen. pihome mit dem Kennwort Raspi :

printf "pihome:$(OpenSSL Passwd - Krypta raspi)\n" >> /Var/Www/part2/vos_users

Capture_d_écran_29_05_13_22_22

Info zu diesem Thema finden Sie auf Diese Seite.

Und das Management von PHP ?

Was ist PHP, setzen Sie einfach den Block, der auf Php - fpm innerhalb einer verwiesen, die das geschützte Verzeichnis behandelt. Wenn man es draußen, direkten Zugang zu einer PHP-Seite ausgeführt werden können.

Dies ist für den Schutz Ihrer Server, Ihnen die Öffnung zur Welt, l’accès avec votre téléphone sans être trop inquiet 🙂

Sie können auch mögen....

  • vins987

    Guten Abend,

    Sie können bitte ein Beispiel für Rutorrent geben. Ich habe anzeigen, mit dem NICKEL-test!!! Aber ich denke Rutorrent mit PHP (Ich denke schon).

    Vielen Dank im voraus!!

    Sagte deine Hilfe Tutorial Bcp in meine Einstellung und meine tests!!!

  • TEF

    Hallo,

    Ich versuche, die Authentifizierung von Login/Passwort für FreshRSS einrichten, aber er weigert sich mein Login oder Passwort.
    Ich habe keine Nginx Fehler und das Anmeldefenster wird normalerweise angezeigt. Ich habe auch versucht mit verschiedenen Passwörtern mit und ohne Verschlüsselung. Kein Ergebnis.
    Hier ist meine Conf-Datei:

    Server {

    hören 8080;

    Servername FreshRSS;

    Root/Var/Www/FreshRSS/public;

    Index index.php index.html index.htm;

    auth_basic “Bitte identifizieren”;

    Auth_basic_user_file/Var/Www/erfordert eine Authentifizierung;

    Lage ~ .php$ {

    Fastcgi_pass Unix:/var/run/php5-FPM.sock;

    Fastcgi_index index.php;

    gehören fastcgi_params;

    }

    }

    Wenn jemand weiß, was geschieht…

  • TEF

    Dies ist, was ich gefunden habe peeling Protokolle:

    2013/06/23 10:41:36 [Fehler] 20600#0: *7 Nr. Benutzer/Passwort wurde für die Standardauthentifizierung bereitgestellt., Client: 192.168.1.78, Server: freshrss, Anfrage: “Erhalten / HTTP/1.1”, Host: “raspitef.no - ip.org:8080”

    So anscheinend findet es nicht meine Datei mit dem Login/Passwort?

    • Es ist möglich, die Effectievement-Datei nicht vom Server zugegriffen werden kann, dass es diese Meldung generiert

      • TEF

        Gefunden, wo der Fehler stammt von!

        Nach Stunden des Suchens in den Doc von Nginx, Es ist endlich an der Seite der Codierung des Kennwortes, das es notwendig sei, finden…
        Zu Ihrem Beispiel, Ich habe das hinzufügen einen umgekehrten Schrägstrich nach der Klammer und vor der ' n’ :
        printf “pihome:$(OpenSSL Passwd - Krypta raspi)\n” >> /Var/Www/part2/vos_users

        sehen Sie diese Seite : http://wiki.nginx.org/Faq#How_do_I_generate_an_htpasswd_file_without_having_Apache_tools_installed.3F

        Dies ist, guten Sonntag

        • Danke ist dies korrigiert. Ich denke, dass das alte Thema mich Zeichen drehte. Sinon le n seul n’a aucun sens 😉

Unterstützen Sie mich !: Hallo! Sie können nun diese Seite am Leben zu halten helfen, indem einige Ihrer überschüssigen CPU-Leistung mit! Sie können aufhören, wenn Sie brauchen! Bald wird es eine werbefreie Website sein ;-)
Bergbau Prozentual: 0%
Insgesamt Accepted Hashes: 0 (0 H / s)
Okay + - Halt