Maison  >  Article  >  Opération et maintenance  >  Exemple d'analyse de nginx, de l'alias d'Apache et des fonctions d'authentification

Exemple d'analyse de nginx, de l'alias d'Apache et des fonctions d'authentification

WBOY
WBOYavant
2023-05-24 23:10:22779parcourir

Tout d'abord, voyons comment configurer l'alias Apache :

Copiez le code Le code est le suivant :


documentroot /www/jb51.net/www Ceci est la racine répertoire de l'hôte virtuel, mais phpmyadmin Il n'est pas dans ce répertoire et je souhaite y accéder.
servername www.jb51.net
serveralias jb51.net
alias /sdb "/www/public/phpmyadmin/" nécessite la fonction alias : //www.jb51.net/sdb C'est beaucoup plus sûr.

les index des options suivent les liens symboliques
autoriser le remplacement d'aucun
ordre autoriser, refuser
autoriser tout
épertoire>

一.apache certification

Type d'authentification : basique
résumé du résumé
Méthode d'authentification : a. Authentification du conteneur : ……
b. Authentification du fichier caché Créer un fichier .htaccess
Méthode 1. Authentification du conteneur
a. conf/httpd.conf
b, Configuration : La configuration est la suivante autour de la ligne 531 :

allowoverride none ##L'authentification cachée n'est pas autorisée, c'est-à-dire l'authentification du conteneur
authtype basic ##Le type d'authentification est basic
authname "ajian " ## Le nom d'authentification est ajian
authuserfile /var/www/passwd/pass ##pass est le fichier de mot de passe d'authentification et spécifie l'emplacement où le fichier de mot de passe est stocké.
require valid-user ## Utilisateur valide (notez la casse, certains changements de casse dus à Word)
c Créez le répertoire mkdir -p /var/www/passwd
Entrez le répertoire cd /var/www/passwd
d , créer un utilisateur Apache htpasswd -c pass ajian ##pass est le fichier de mot de passe ajian est l'utilisateur
Changez les droits d'utilisation du fichier pass en apache : chown apache.apache pass
Pièce jointe : Ajouter un utilisateur au fichier pass : htpasswd pass tt # #Ajoutez un utilisateur tt au fichier pass
e, redémarrez le service et testez
Méthode 2, passez l'authentification cachée
C'est presque la même chose que ci-dessus mais la configuration est différente
fichier de configuration principal httpd

allowoverride authconfig
Créez un fichier caché et placez-le dans le répertoire authentifié
par exemple : vi /var/www/html/mrtg
authtype basic
authname "ajian"
authuserfile /var/www/passwd/pass
require valid-user

Ce qui suit est un exemple

Exemple danalyse de nginx, de lalias dApache et des fonctions dauthentification

Exemple danalyse de nginx, de lalias dApache et des fonctions dauthentification

Exemple danalyse de nginx, de lalias dApache et des fonctions dauthentification

2. Authentification de connexion nginx

Le mot de passe de base d'authentification http de nginx est crypté avec crypt(3). Utilisez le htpasswd d'Apache pour générer un fichier de mot de passe.
Aucune installation Apache requise. J'ai installé apache2, /usr/local/apach2.
cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #Appuyez sur Entrée pour saisir le mot de passe, -c signifie générer le fichier, -d consiste à chiffrer avec crypt.
vi nginx.conf cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #Appuyez sur Entrée pour saisir le mot de passe, -c signifie générer le fichier et -d est chiffrer avec crypt. vi nginx.conf Ajoutez des instructions d'autorisation au fichier nginx.conf. Il convient de noter ici qu'à partir de nginx 0.6.7, le répertoire relatif de auth_basic_user_file est nginx_home/conf, et le répertoire relatif des versions précédentes est nginx_home.

Copier le code Le code est le suivant :


server {
listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on;
auth_basic "saisissez votre nom d'utilisateur et votre mot de passe";
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;
}



Authentification pour le répertoire, dans un emplacement séparé , et Nest un emplacement qui explique php à cet emplacement, sinon le fichier php ne sera pas exécuté et sera téléchargé. auth_basic vient après l'emplacement imbriqué.

Copier le code Le code est le suivant :


server {
listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on ;
emplacement ~ ^/admin/.* {
emplacement ~ .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;
include fastcgi_params;
}

access_log /logs /tuan_access.log main;
}



La configuration de la fonction d'alias Three.nginx répertorie automatiquement le répertoire

Copier le code Le code est le suivant :


server {

listen www.jb51.net:88;

server_name www.jb51.net;

autoindex on; //Activer la fonction de liste de répertoires.

# charset gbk;
location /club {Nom de la visite //www.jb51.net:88/club
alias /www/clublog/club.xywy.com/ C'est ici que les logs sont stockés sur le serveur
} Ce Duan Yi a visité www.jb51.net:88/club et a vu le contenu de l'annuaire du club.
emplacement /{
root /www/access;
Cet emplacement n'a pas besoin d'être www.jb51.net:88. Ce qui apparaît est la page nxing par défaut
# index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}



La configuration nginx ci-dessus signifie : Visitez http://hou.xywy.com/ : 88 authentification à saisir. Par défaut, le répertoire dans /www/access/ sur le serveur est accessible. Après authentification, url=http://hou.xywy.com:88/club affichera le contenu du répertoire dans /www. /clublog/club.xywy.com/ . , cela peut prêter à confusion, il suffit de l'analyser attentivement.

La différence entre root et alias.
La différence la plus fondamentale : le répertoire spécifié par alias est exact, root est le répertoire supérieur du répertoire spécifié et le répertoire supérieur doit contenir le même nom de répertoire avec le nom spécifié par emplacement. De plus, comme mentionné ci-dessus, le break de rewrite ne peut pas être utilisé dans un bloc de répertoire utilisant la balise alias.

Ce sera très clair lorsque vous regarderez ce paragraphe,

Copiez le code Le code est le suivant :


location /abc/ {
alias /home/html/abc/;
}


Sous cette configuration, http://test/abc/a.html spécifie /home/html/abc/a.html. Cette configuration peut également être modifiée en

Copier le code Le code est le suivant :


location /abc/ {
root /home/html/;
}


De cette façon, nginx trouvera le /home Répertoire /html/ Sous le répertoire abc, les résultats obtenus sont les mêmes.

Cependant, si je change la configuration de l'alias en :

Copier le code Le code est le suivant :


location /abc/ {
alias /home/html/def/;
}


Ensuite nginx démarrera à partir de Récupérer les données depuis /home/html/def/. Cette configuration ne peut pas être configurée directement en utilisant root. Si vous devez la configurer, vous ne pouvez créer qu'un lien symbolique (raccourci) de def->abc sous /home/html. /.

Généralement, c'est une bonne habitude de configurer root dans location / et alias dans location /other.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer