Ajout d'infos de filtrage pour Nginx
This commit is contained in:
parent
be0fbb5fac
commit
47215e8698
|
@ -636,6 +636,29 @@ location /YYYYYY/ {
|
|||
error_page 403 /YYYYYY/;
|
||||
~~~
|
||||
|
||||
### Appliquer des conditions sur des en-têtes
|
||||
|
||||
Il est possible de configurer des comportements conditionnés par le contexte d'une requête.
|
||||
Voici quelques exemples :
|
||||
|
||||
~~~
|
||||
# rejetter toutes les méthodes autres que POST
|
||||
if ($request_method != "POST" ) {
|
||||
return 405;
|
||||
}
|
||||
# rejetter les requêtes qui n'ont pas une valeur spécifique pour un en-tête personnalisé
|
||||
# NB : les variables "$http_x_" sont automatiquement remplies avec les en-têtes personnalisés.
|
||||
if ($http_x_requested_with != "XMLHttpRequest" ) {
|
||||
return 403;
|
||||
}
|
||||
# rejeter les requêtes qui ne sont pas du JSON
|
||||
if ($content_type != "application/json") {
|
||||
return 403;
|
||||
}
|
||||
~~~
|
||||
|
||||
Attention toutefois à l'utilisation de `if` dans un bloc `location` : [IfIsEvil](https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/). Cela peut avir des comportements inattendus.
|
||||
|
||||
### Comment prononcer Nginx ?
|
||||
|
||||
C'est la première question de la [FAQ officielle](https://www.nginx.com/resources/wiki/community/faq/#how-do-you-pronounce-nginx) du projet. Pour les francophones, voilà notre astuce :
|
||||
|
@ -656,4 +679,4 @@ Nginx ne gère pas les fichiers `.htaccess`. Si vous devez utiliser des fichiers
|
|||
|
||||
Il est posisble de créer des "hash map" (cf. [ngx_http_map_module](http://nginx.org/en/docs/http/ngx_http_map_module.html)) pour facilement cérer des variables utilisables dans des blocks, des logs…
|
||||
|
||||
Sauf que ces maps ne sont pas restreintes à un bloc serveur (VHost), mais appliquées à tout le bloc http. Il ne faut donc pas donner le même nom à 2 maps, au risque d'avoir des conflits difficiles à débugger.
|
||||
Sauf que ces maps ne sont pas restreintes à un bloc serveur (VHost), mais appliquées à tout le bloc http. Il ne faut donc pas donner le même nom à 2 maps, au risque d'avoir des conflits difficiles à débugger.
|
||||
|
|
Loading…
Reference in a new issue