J'ai étudié la célèbre méthode de paramétrage des erreurs nginx lors du développement d'un serveur WEB, donc je l'ai résumée. nginx peut renvoyer une erreur statique à l'utilisateur lorsqu'une erreur se produit. Voici comment rendre l'erreur d'origine.
apt install nginx
Installez simplement avec.
Normalement, l'erreur est contrôlée par python, mais nginx peut renvoyer l'erreur en raison d'un délai d'expiration ou autre. À ce moment-là, par défaut, le caractère nginx est inclus dans le libellé de l'erreur, ce qui peut provoquer un problème de sécurité ou rompre l'uniformité de l'ensemble du système, vous souhaiterez peut-être renvoyer l'erreur d'origine. Ceci est possible en modifiant le contexte du serveur dans
/ etc / nginx / nginx.conf ou` `` / etc / nginx / conf.d / xxx.conf
.
Lorsque vous renvoyez le fichier html ou le fichier json d'origine à l'utilisateur, définissez les paramètres du fichier d'origine et l'état http et l'association de fichier d'origine dans le contexte du serveur.
Le format des paramètres dans le fichier d'origine ressemble à ceci.
location = /Nom du paramètre(nom de fichier) {
root Le chemin où le HTML d'origine est stocké
}
Le format d'association de l'état http avec le code HTML d'origine est le suivant.
error_état http de la page/Nom du paramètre(nom de fichier);
L'ensemble du fichier de configuration ressemble à ceci. Désormais, lorsque nginx renvoie 500, 502, 503, 504, /flask/nginx/50x.html sera retourné à l'utilisateur.
sample.conf
server {
listen 8010;
server_name original;
limit_conn servers 2;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
#État http et 50x.Lier les paramètres HTML
error_page 500 502 503 504 /50x.html;
# 50x.paramètres html
location = /50x.html {
#Chemin où le HTML est stocké
root /flask/nginx;
}
}
Dans le cas ci-dessus, le statut http sera renvoyé à l'utilisateur tel qu'il s'est produit, mais dans certains cas, vous souhaiterez peut-être également spécifier le statut. Ceci peut être réalisé en modifiant les paramètres de liaison. Dans ce cas, veillez à ne pas mettre d'espace entre le statut = et http.
Le format d'association de l'état http avec le fichier d'origine est le suivant.
error_état http de la page=Statut HTTP que vous souhaitez renvoyer/Nom du paramètre(nom de fichier);
L'ensemble du fichier de configuration ressemble à ceci. Désormais, lorsque nginx renvoie 500, 502, 503, 504, l'état http 500, /flask/nginx/50x.html sera renvoyé à l'utilisateur.
sample.conf
server {
listen 8010;
server_name original;
limit_conn servers 2;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
#État http et état de retour, 50x.Lier les paramètres HTML
error_page 500 502 503 504 =500 /50x.html;
# 50x.paramètres html
location = /50x.html {
#Chemin où le HTML est stocké
root /flask/nginx;
}
}
Vous pouvez également mettre la valeur de retour dans un simple fichier texte ou conf au lieu d'un fichier. Dans ce cas, liez le paramètre d'origine à l'état http et au paramètre dans le contexte du serveur.
Le format du paramètre d'erreur est le suivant.
location = /Nom du paramètre{
retour Message à retourner;
}
Le format de liaison de l'état et des paramètres http est le suivant.
error_état http de la page/Nom du paramètre;
L'ensemble du fichier de configuration ressemble à ceci. Cela renverra une "erreur d'origine" à l'utilisateur lorsque nginx renvoie 500, 502, 503, 504.
sample.conf
server {
listen 8010;
server_name original;
limit_conn servers 2;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
#Lier l'état http avec les paramètres 50x
error_page 500 502 503 504 /50x;
#Réglage 50x
location = /50x {
#Message à retourner
return "Erreur d'origine";
}
}
Dans le cas ci-dessus, le statut http sera renvoyé à l'utilisateur tel qu'il s'est produit, mais dans certains cas, vous souhaiterez peut-être également spécifier le statut. Ceci peut être réalisé en modifiant les paramètres d'erreur.
Le format du paramètre d'erreur est le suivant.
location = /Nom du paramètre{
retourner le statut http pour retourner le message à retourner;
}
L'ensemble du fichier de configuration ressemble à ceci. Désormais, lorsque nginx renvoie 500, 502, 503, 504, état http 500, "erreur d'origine" sera renvoyée à l'utilisateur.
sample.conf
server {
listen 8010;
server_name original;
limit_conn servers 2;
location / {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
#Lier l'état http avec les paramètres 50x
error_page 500 502 503 504 /50x;
#Réglage 50x
location = /50x {
#Message à retourner
return 500 "Erreur d'origine";
}
}
Nous avons résumé comment contrôler les erreurs avec nginx. Comme nginx a diverses fonctions, je pense qu'il existe de nombreuses possibilités de renvoyer une erreur. Dans ce cas, si vous unifiez le format d'erreur, il sera facile à voir et à refroidir, donc si vous êtes particulier à ce sujet, vous devriez vous y tenir.
Recommended Posts