Schauen wir uns zunächst an, wie der Apache-Alias konfiguriert wird:
Kopieren Sie den Code. Der Code lautet wie folgt:
documentroot /www/jb51.net/www Dies ist das Root Verzeichnis des virtuellen Hosts, aber phpmyadmin Es befindet sich nicht in diesem Verzeichnis und ich möchte darauf zugreifen.
Servername www.jb51.net
Serveralias jb51.net
alias /sdb „/www/public/phpmyadmin/“ erfordert die Alias-Funktion: //www.jb51.net/sdb Das ist viel sicherer.
options indexes Followingsymlinks
allowoverride none
orderallow,deny
allow from all
一.Apache-Zertifizierung
Authentifizierungstyp: einfach
digest-Zusammenfassung
Authentifizierungsmethode: a. Containerauthentifizierung: ……
b. .htaccess-Datei erstellen
Methode 1. Containerauthentifizierung
a. conf/httpd.conf
b, Konfiguration: Die Konfiguration ist wie folgt um Zeile 531:
allowoverride none ##Versteckte Authentifizierung ist nicht zulässig, d. h. Containerauthentifizierung
authtype basic ##Der Authentifizierungstyp ist basic
authname "ajian " ## Der Authentifizierungsname ist ajian
authuserfile /var/www/passwd/pass ##pass ist die Authentifizierungskennwortdatei und gibt den Speicherort an, an dem die Kennwortdatei gespeichert ist.
require valid-user ## Gültiger Benutzer (beachten Sie die Groß- und Kleinschreibung, einige Änderungen aufgrund von Word)
c Erstellen Sie das Verzeichnis mkdir -p /var/www/passwd
Geben Sie das Verzeichnis cd /var/www/passwd ein. Apache-Benutzer erstellen htpasswd -c pass ajian ##pass ist die Passwortdatei ajian ist der Benutzer
Ändern Sie die Nutzungsrechte der Passdatei auf Apache: chown apache.apache pass
Anhang: Fügen Sie einen Benutzer zur Passdatei hinzu: htpasswd pass tt # #Fügen Sie der Pass-Datei einen tt-Benutzer hinzu.
e, starten Sie den Dienst neu und testen Sie Datei und legen Sie sie in das authentifizierte Verzeichnis „Pass“ ab. Beispiel: vi /var/www/html/mrtg 2. Nginx-Login-Authentifizierung Verwenden Sie htpasswd von Apache, um eine Passwortdatei zu generieren.
Keine Apache-Installation erforderlich. Ich habe Apache2, /usr/local/apach2 installiert.
cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #Drücken Sie die Eingabetaste, um das Passwort einzugeben, -c bedeutet, die Datei zu generieren, -d dient zum Verschlüsseln mit crypt.
vi nginx.conf cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #Drücken Sie die Eingabetaste, um das Passwort einzugeben, -c bedeutet, die Datei zu generieren, -d ist dazu mit crypt verschlüsseln. vi nginx.conf Autorisierungsanweisungen zur Datei nginx.conf hinzufügen. Hierbei ist zu beachten, dass ab Nginx 0.6.7 das relative Verzeichnis von auth_basic_user_file nginx_home/conf und das relative Verzeichnis früherer Versionen nginx_home ist.
Code kopieren Der Code lautet wie folgt:
server {
listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on;
auth_basic_user_file htpasswd.file;location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param script_filename /www/tuangou$fastcgi_script_name;
include fastcgi _params ;}error_page 404 /404.php;
error_page 403 /404.php;access_log /logs/tuan_access.log main;}
Authentifizierung für das Verzeichnis, an einem separaten Ort , und verschachteln Sie einen Speicherort, der PHP an diesem Speicherort erklärt, andernfalls wird die PHP-Datei nicht ausgeführt und heruntergeladen. auth_basic kommt nach dem verschachtelten Speicherort.
server {
listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on ;
location ~ ^/admin/.* {
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_filename /www/tuangou$fastcgi_script_name;
include fastcgi_params;
}
root /www/ tuangou/ ;
auth_basic "auth";
auth_basic_user_file htpasswd.file;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
access_log /logs /tuan_access.log main;
}
Die Alias-Funktionskonfiguration von Three.nginx listet das Verzeichnis automatisch auf
Code kopieren Der Code lautet wie folgt:
server {
listen www.jb51.net:88;
server_name www.jb51.net;
autoindex on; // Verzeichnislistenfunktion aktivieren.
# charset gbk;
location /club {Name des Besuchs //www.jb51.net:88/club
alias /www/clublog/club.xywy.com/; Hier werden die Protokolle auf dem Server gespeichert
} Dieser Duan Yi besuchte www.jb51.net:88/club und sah den Inhalt des Clubverzeichnisses.
location /{
root /www/access;
Dieser Standort muss nicht www.jb51.net:88 sein. Was herauskommt, ist die Standard-Nxing-Seite
# index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Die obige Nginx-Konfiguration bedeutet: Besuchen Sie http://hou.xywy.com/: 88-Authentifizierung zur Eingabe. Standardmäßig wird auf das Verzeichnis in /www/access/ auf dem Server zugegriffen. Nach der Authentifizierung zeigt url=http://hou.xywy.com:88/club den Inhalt des Verzeichnisses in /www an /clublog/club.xywy.com/. , es kann verwirrend sein, analysieren Sie es einfach sorgfältig.
Der Unterschied zwischen Root und Alias.
Der grundlegendste Unterschied: Das durch Alias angegebene Verzeichnis ist korrekt, Root ist das übergeordnete Verzeichnis des angegebenen Verzeichnisses und das übergeordnete Verzeichnis muss das gleichnamige Verzeichnis mit dem durch Standort angegebenen Namen enthalten. Darüber hinaus kann der Break von Rewrite, wie oben erwähnt, nicht in einem Verzeichnisblock verwendet werden, der das Alias-Tag verwendet.
Wenn Sie sich diesen Absatz ansehen, wird es sehr deutlich:
Kopieren Sie den Code. Der Code lautet wie folgt:
location /abc/ {
alias /home/html/abc/;
}
Bei dieser Konfiguration gibt http://test/abc/a.html /home/html/abc/a.html an. Diese Konfiguration kann auch geändert werden in
Code kopieren Der Code lautet wie folgt:
Standort /abc/ {
root /home/html/;
}
Auf diese Weise findet Nginx das /home /html/-Verzeichnis Unter dem abc-Verzeichnis sind die erhaltenen Ergebnisse dieselben.
Wenn ich jedoch die Konfiguration des Alias ändere:
Den Code kopieren Der Code lautet wie folgt:
location /abc/ {
alias /home/html/def/;
}
Dann Nginx beginnt mit dem Abrufen von Daten aus /home/html/def/. Diese Konfiguration kann nicht direkt mit root konfiguriert werden. Wenn Sie sie konfigurieren müssen, können Sie nur einen Softlink (Verknüpfung) von def->abc unter /home/html erstellen /.
Im Allgemeinen ist es eine gute Angewohnheit, Root unter Standort / und Alias unter Standort / Other zu konfigurieren.
Das obige ist der detaillierte Inhalt vonBeispielanalyse von Nginx, Apaches Alias- und Authentifizierungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!