Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nginx [Le 14/08/2015, 21:14] – [Le nginx.conf par défaut] beavernginx [Le 31/10/2023, 10:28] (Version actuelle) – ancienne révision (Le 30/05/2023, 10:36) restaurée bcag2
Ligne 7: Ligne 7:
 ====== Nginx : serveur Web asynchrone ====== ====== Nginx : serveur Web asynchrone ======
  
-<note warning>En cours de réédition --- //[[:utilisateurs:beaver|beaver]] Le 13/08/2015, 15:04//</note> +**Nginx** (Engine X, prononcez [n-gèn-x]) est un serveur Web asynchrone écrit par Igor Sysoev pour les besoins d'un site russe à très fort trafic. Il peut être configuré pour faire office de serveur reverse proxy Web et de serveur proxy de messagerie électronique (IMAP/POP3). Une partie de la documentation a été traduite du russe vers l'anglais puis vers le français. Ses sources sont disponibles sous une licence de type BSD.
- +
-**Nginx** (Engine X, prononcez [n-gèn-x]) est un serveur Web asynchrone écrit par Igor Sysoev pour les besoins d'un site russe à très fort trafic. Il peut être configuré pour faire office de serveur reverse proxy Web et de serveur proxy de messagerie électronique (IMAP/POP3). Une partie de la documentation a été traduite du russe vers l'anglais. Ses sources sont disponibles sous une licence de type BSD.+
  
 ---- ----
Ligne 19: Ligne 17:
 ^ ^ nginx-extras ^ nginx-full ^ nginx-light ^ ^ ^ nginx-extras ^ nginx-full ^ nginx-light ^
 | Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream | X | X | X | | Core, Access, Auth Basic, Auto Index, Charset, Empty GIF, FastCGI, Gzip, Headers, Index, Log, Map, Proxy, Rewrite, Upstream | X | X | X |
-| User ID, UWSGI, Browser, Geo, Limit Requests, Limit Zone, Memcached, Referer, SCGI, Split Clients, SSI | X | X | | +| User ID, UWSGI, Browser, Geo, Limit Requests, Limit Zone, Memcached, Referer, SCGI, Split Clients, SSI | X | X | |
 | Gzip Precompression, IPv6, SSL, Stub Status |  X | X | X | | Gzip Precompression, IPv6, SSL, Stub Status |  X | X | X |
 | Substitution, WebDAV, XSLT, Addition, Debug, GeoIP, Image Filter, Real IP |  X | X | | | Substitution, WebDAV, XSLT, Addition, Debug, GeoIP, Image Filter, Real IP |  X | X | |
Ligne 38: Ligne 36:
 La configuration de Nginx est modularisée en plusieurs fichiers de configuration [[:tutoriel:comment_modifier_un_fichier|textuel]] que vous trouverez dans le dossier ///etc/nginx//: La configuration de Nginx est modularisée en plusieurs fichiers de configuration [[:tutoriel:comment_modifier_un_fichier|textuel]] que vous trouverez dans le dossier ///etc/nginx//:
   * **nginx.conf:** Le fichier de configuration globale du **serveur**. Les paramètres qui s'y trouvent doivent impacter l'ensemble du serveur ; vous n'y toucherez normalement pas.   * **nginx.conf:** Le fichier de configuration globale du **serveur**. Les paramètres qui s'y trouvent doivent impacter l'ensemble du serveur ; vous n'y toucherez normalement pas.
-  * **mime.types:** La liste des types MIME résolu par les extensions de fichiers. Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web ou ceci est une vidéo ogg).+  * **mime.types:** La liste des types MIME résolus par les extensions de fichiers. Cette liste indique la nature des fichiers renvoyés par le serveur (ex: ceci est une page web ou ceci est une vidéo ogg).
   * **sites-available:** Contient les fichiers de configurations de vos sites ou services (un fichier par pré-occupation/site/service). Ce dossier est un //dépôt// ; les fichiers de configuration qui y sont ne sont pas pris en compte.   * **sites-available:** Contient les fichiers de configurations de vos sites ou services (un fichier par pré-occupation/site/service). Ce dossier est un //dépôt// ; les fichiers de configuration qui y sont ne sont pas pris en compte.
   * **sites-enabled:** Doit contenir des [[lien_physique_et_symbolique#exemple_de_lien_symbolique|liens symboliques]] vers les fichiers de **site-available** que vous souhaitez activer.   * **sites-enabled:** Doit contenir des [[lien_physique_et_symbolique#exemple_de_lien_symbolique|liens symboliques]] vers les fichiers de **site-available** que vous souhaitez activer.
-  * **conf.d:**  Emplacement pour appliquer les paramètres commun à tout les sites. Peut également servir de la même facon que **site-available** (renommer ses fichiers ".conf" en ".disabled" pour désactiver les sites).+  * **conf.d:**  Emplacement pour appliquer les paramètres communs à tous les sites. Peut également servir de la même façon que **site-available** (renommer ses fichiers ".conf" en ".disabled" pour désactiver les sites).
  
 ---- ----
  
-gzf==== Le nginx.conf par défaut ====+==== Le nginx.conf par défaut ====
  
-Le fichier **nginx.conf** est l'élément névralgique de votre serveur Nginx. Nous allons voir à quoi ressemble un fichier **nginx.conf** par défaut sous Ubuntu (avec une petite traduction en Français).+Le fichier **/etc/nginx/nginx.conf** est l'élément névralgique de votre serveur Nginx. 
  
-FIXME EN COURS --- //[[:utilisateurs:beaver|beaver]] Le 11/08/201515:30//. +Après modificationil est prudent de le //tester// avec :  
-^ Les modules ^ Les explications ^                                                    +<code bash>nginx -t</code> 
-|<code>user www-data; ##**Syntaxe:** **user** **user** **[group]**;</code> | Définit l'utilisateur et le groupe avec lequel le daemon Nginx sera lancé. Si le groupe est omis, un groupe dont le nom correspond à celui de l'utilisateur sera utilisé. | + 
-|<code>worker_processes 4; ##**Syntaxe:** worker_processes **nombre**  **auto**; </code> | La valeur optimale dépend de nombreux facteurs.. y compris (mais non limité à) au nombre de CPU que vous disposez; le nombre de disques durs.. etc :-). Si vous avez un doute sur la valeur à indiquer, veuillez prendre comme référence le nombre de CPU que vous disposez, vous pouvez aussi utiliser **auto**. |  +Puis, pour que les modifications de configuration soient prises en compte, il faut lancer (-send **s**ignal ((https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/))) : 
-|<code>pid /run/nginx.pid;##**Syntaxe:** pid **fichier.pid**;</code> | Le fichier stockera le [[https://fr.wikipedia.org/wiki/Identifiant_de_processus|PID]] de votre processus. | +<code bash>nginx -s reload</code>
-|<code>events { worker_connections 768; ##**Syntaxe:** worker_connections **nombre**;</code> | Définir le nombre maximal de connexions simultanées ouvertes par le processus. | +
-<code>multi_accept on;} ##**Syntaxe:** multi_accept **on**  **off**;</code> | Si **multi_accept** est désactivé, le processus acceptera une nouvelle connexion à la fois, dans le cas contraire, le processus acceptera toutes les nouvelles connexions en même temps. |  +
-|<code>http { sendfile on; ##**Syntaxe;** sendfile **on** **off**;</code> | Nous allons dire que nous avons un **index  index.php;** dans notre virtual hostSendfile permettra de se délester de PHP pour l’envoi des fichiers aux navigateurs. Il est fortement recommandé d’utiliser ce module pour alléger les process sur le serveur. |  +
-|<code>tcp_nopush on; ##**Syntaxe:** tcp_nopush **on**  **off**</code> | Le module **tcp_nopush** fait le contraire de **tcp_nodelay** : au lieu d’optimiser les délais d’envoi des informationsil optimise la quantité d’informations envoyée. **tcp_nopush** et **sendfile** sont indissociable((comprendre qu'il faut absolument que sendfile soit actif.. .)). |  +
-| <code>tcp_nodelay on; ##**Syntaxe:** tcp_nodelay **on**  **off**;</code> | Active ou désactive l'utilisation du module **tcp_nodelay**. Le module est utilisé uniquement si une connexion est passée en état (persistant)((keep TCP alive (maintenir TCP en vie), c'est à dire conserver la connexion TCP)) = (KeepAlive)((keep TCP alive (keep TCP alive (maintenir TCP en vie), c'est à dire conserver la connexion TCP)). | +
-|<code>keepalive_timeout 65; ##**Syntaxe:** keepalive_timeout **timeout** **[header_timeout]**;</code> | **Le premier paramètre est obligatoire** définit un délai pendant lequel une connexion cliente KeepAlive restera ouverte côté serveur. La valeur 0 désactive les connexions clientes KeepAlive. **Le deuxième paramètre quand à lui est facultatif** définit la valeur de délai de l'[[https://fr.wikipedia.org/wiki/Header|entête // header]]. |  +
-|<code>types_hash_max_size 2048; ##**Syntaxe:** types_hash_max_size **taille**;</code> | Définit la taille maximale des types de [[https://fr.wikipedia.org/wiki/Table_de_hachage|tables de hachage]]. Les détails de la mise en place des tables de hachage sont fournis dans un document [[http://nginx.org/en/docs/hash.html|distinct]]. Pour traiter rapidement des ensembles de données statiques tels que le nom de votre serveur, les directions [[http://nginx.org/en/docs/http/ngx_http_map_module.html#map|map]], les [[https://fr.wikipedia.org/wiki/Type_MIME|Types MIME]], etc ... Nginx utilise les tables de hachage. | +
-| <code>server_tokens off; ##**Syntaxe:** server_tokens **on**  **off**;</code> | Active ou désactive l'émission de votre [[https://ubuntu-fr.org/.ht|version]] Nginx. Dans notre exemple, nous voyons bien que le site ubuntu-fr.org cache sa version Nginx :-).|  +
-|<code>server_names_hash_bucket_size 64; ##**Syntaxe:**?</code>|En cours|  +
-|<code>server_name_in_redirect off; ##**Syntaxe:** server_name_in_redirect **on**  **off**;</code>| Quand le module **name_server** n'est pas définit dans votre virtual host, le contenu de **Host** dans le header est utilisé. Si ce champ n'est pas présent, l'adresse IP du serveur est utilisée, si vous avez pas d'adresse IP ... -> m(. GET **/** <- Le chemin absolu ou se trouve le fichier index.html.  **HTTP/1.1**  <- La version http utilisée est 1.1, donc le **host**((https://www.ietf.org/rfc/rfc2616.txt)) est obligatoire. **Host: ubuntu-fr.org** <- Le nom de domaine, c'est cette partie que tentera de récupérer le module **server_name_in_redirect** si il est actif(( GET **/** **HTTP/1.1** User-Agent: curl/7.35.0 **Host: ubuntu-fr.org** Accept: */*)). | +
-|<code>include /etc/nginx/mime.types; ##La liste des types MIME résolu par les extensions de fichiers.</code> | Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web http://votrendd.tld/hello.html ou ceci est une vidéo ogg ..  http://votrendd.tld/mavideo.ogg pour que Nginx "comprenne" que c'est un format **.html** ou un format **.ogg** il lui faut un fichier mime.types).| +
-|<code>default_type application/octet-stream; ##**Syntaxe:** default_type **mime-type**;</code> | Définit le [[https://fr.wikipedia.org/wiki/Type_MIME|Type MIME]]  par défaut d'une requête ACK. Un mappage sur l'extension de [[https://fr.wikipedia.org/wiki/Type_MIME|Type MIME]] peut être configuré avec le module [[http://nginx.org/en/docs/http/ngx_http_core_module.html#types|type]]. |  +
-|<code>access_log /var/log/nginx/access.log;</code> | Vous retrouverez dans votre fichier **access.log** les **GET'S/POST'S** de chaque visiteur visitant votre site.| +
-|<code>error_log /var/log/nginx/error.log;</code> | Ici à contrario vous retrouverez dans votre fichier **error.log** les erreurs **403, 404, 500, 503**, venant de vos visiteurs (par exemple):-).|  +
-|<code>gzip on; ##**Syntaxe:**gzip **on** | **off**;</code>|**ngx_http_gzip_module** est un filtre qui compresse les requêtes de type ACK à l'aide de la méthode « gzip ». Souvent, ça permet de réduire la taille des données transmises.  Nous pouvons via ce module, réduire de moitié les données transmises, voir même plus :-). |  +
-|<code>gzip_disable "msie6"; ##**Syntaxe:** gzip_disable **regex** ...;</code> | Désactive via une regexp gzip. Le module utilisera encore une fois le header((GET / HTTP/1.1 **User-Agent:** curl/7.35.0 Host: ubuntu-fr.org Accept: */*)) pour récupérer l'**User-Agent** de votre visiteur. Vous noterez qu'il existe une exception à la règle concernant les regexp -> [[https://fr.wikipedia.org/wiki/Internet_Explorer_6|msie6]] :-), si cette exception ne serait pas d'actualité, nous aurions utilisé cette regexp: <code>MSIE [4-6]\.</code>.| +
-<code>gzip_vary on; ##**Syntaxe:** gzip_vary **on** | **off**;</code> | Active ou désactive l'insertion de **Vary: Accept-Encoding** dans le header de votre requête ACK. Seulement si un des modules **gzip**, gzip_static ou gunzip sont actif. Dans le cas du site ubuntu-fr.org le module **gzip_vary** est sur **off**((http://stackoverflow.com/questions/7848796/what-does-varyaccept-encoding-mean)), la compression de notre header((HTTP/1.1 200 OK Server: nginxContent-Type: text/html; charset=utf-8 Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified: Wed, 12 Aug 2015 21:43:15 +0000 ETag: "1439415795" Content-Language: en X-Generator: Drupal 7 (http://drupal.org) Link: </intro>; rel="canonical",</node/17>; rel="shortlink" **Content-Encoding: gzip**)) ne semble donc pas active.. .| +
-|<code>gzip_proxied any; ##**Syntaxe:** gzip_proxied off | expired | **no-cache**</code> <code>| no-store | private | no_last_modified | no_etag | auth | any;</code>| Active ou désactive la compression gzip pour les proxys. gzip_proxied vérifie le header((> GET / HTTP/1.1 User-Agent: curl/7.35.0 Host: ubuntu-fr.org Accept: */* HTTP/1.1 200 OK Server nginx is not blacklisted Server: nginx Content-Type: text/html; charset=utf-8 Expires: Sun, 19 Nov 1978 05:00:00 GMT Last-Modified: Wed, 12 Aug 2015 16:41:34 +0000 ETag: "1439397694" Content-Language: en X-Generator: Drupal 7 (http://drupal.org) Link: </intro>; rel="canonical",</node/17>; rel="shortlink" Content-Length: 15956 Accept-Ranges: bytes Date: Wed, 12 Aug 2015 16:41:34 GMT Age: 0 Connection: keep-alive **Cache-Control**: **no-cache**, must-revalidate, max-age=0)) de votre connexion ACK  (la partie **Cache-Control**). Nous voyons bien que le site active la compression pour les connexions ACK, seulement si le header comporte le paramètre **no-cache** dans le **Cache-Control**.| +
-|<code>gzip_comp_level 6; ##**Syntaxe:** ?</code>| En cours |  +
-|<code>gzip_buffers 16 8k; ##**Syntaxe:** ?</code>| En cours |  +
-|<code>gzip_http_version 1.1; ##**Syntaxe:** ?</code> | En cours |  +
-|<code>gzip_types text/plain text/css application/json application/x-javascript text/xml</code><code>application/xml application/xml+rss text/javascript; ##**Syntaxe:** ?</code>| En cours |  +
-|<code>nginx-naxsi config ##**Syntaxe:** ?</code> | En cours | +
-|<code>include /etc/nginx/naxsi_core.rules; ##**Syntaxe:** ?</code> | En cours | +
-|<code>nginx-passenger config;##**Syntaxe:** ?</code> | En cours | +
-|<code>passenger_root /usr; ##**Syntaxe:** ?</code> | En cours | +
-|<code>passenger_ruby /usr/bin/ruby; ##**Syntaxe:** ?</code> | En cours | +
-|<code>include /etc/nginx/conf.d/*.conf;</code> | En bash, le métacaractère ** * ** correspond à aucun caractère, n'importe quel caractère ou un ensemble de caractères, via ce métacaractère vous allez pouvoir charger tous vos fichiers **.conf** sans devoir en définir le nom au préalable. | +
-| <code>include /etc/nginx/sites-enabled/*;}</code> | En bash, le métacaractère ** * ** correspond à aucun caractère, n'importe quel caractère ou un ensemble de caractères, via ce métacaractère vous allez pouvoir charger tous vos fichiers ***.***. Cette partie contiendra vos sites internet actifs, à savoir que vous devez au préalable utiliser **/etc/nginx/sites-available/** :-). | +
-|<code>mail { auth_http localhost/auth.php; ##**Syntaxe:** ?</code>| En cours |  +
-|<code>pop3_capabilities "TOP" "USER"; ##**Syntaxe:** ?</code>| En cours |  +
-|<code>imap_capabilities "IMAP4rev1" "UIDPLUS"; ##**Syntaxe:** ?</code>| En cours |  +
-|<code>server { listen     localhost:110; ##**Syntaxe:** ?</code> | En cours | +
-|<code>protocol   pop3; ##**Syntaxe:** ?</code> | En cours | +
-|<code>proxy      on; ##**Syntaxe:**?</code>| En cours | +
-|<code>server { listen     localhost:143; ##**Syntaxe:** ?</code> | En cours | +
-|<code>protocol   imap; ##**Syntaxe:**?</code> | En cours | +
-|<code>proxy      on;}} ##**Syntaxe:**?</code> | En cours |+
  
 ---- ----
Ligne 103: Ligne 63:
 Pour configurer votre nom de domaine (vhost), vous pouvez copier la configuration par défaut du vhost « default » puis y apporter vos modifications. Exemple : Pour configurer votre nom de domaine (vhost), vous pouvez copier la configuration par défaut du vhost « default » puis y apporter vos modifications. Exemple :
  
-  cp /etc/nginx/sites-available/default /etc/nginx/sites-available/mondomaine.tld+  sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/mondomaine.tld
  
 Puis, modifier la configuration de votre nom de domaine mondomaine.tld en [[:tutoriel:comment_modifier_un_fichier|modifiant le fichier]] **/etc/nginx/sites-available/mondomaine.tld**. Puis, modifier la configuration de votre nom de domaine mondomaine.tld en [[:tutoriel:comment_modifier_un_fichier|modifiant le fichier]] **/etc/nginx/sites-available/mondomaine.tld**.
Ligne 133: Ligne 93:
  
   * Avoir lu la page de documentation sur [[:nginx|Nginx : serveur Web asynchrone]].   * Avoir lu la page de documentation sur [[:nginx|Nginx : serveur Web asynchrone]].
-  * Comprendre la fonction d'un reverse proxy ou un proxy inverse [[http://fr.wikipedia.org/wiki/Reverse_proxy|Article wikipedia]].+  * Comprendre la fonction d'un reverse proxy ou un proxy inverse [[https://fr.wikipedia.org/wiki/Reverse_proxy|Article wikipedia]].
  
 ==== Configuration ==== ==== Configuration ====
Ligne 142: Ligne 102:
  
  
-La configuration qui va suivre se décomposera en trois parties : +La configuration qui va suivre se décomposera en trois parties :
  
   * Le paramétrage global du serveur nginx.   * Le paramétrage global du serveur nginx.
   * Le paramétrage des fonctions de reverse proxy et de cache.   * Le paramétrage des fonctions de reverse proxy et de cache.
-  * Un exemple de configuration du serveur web se trouvant derrière le reverse proxy. +  * Un exemple de configuration du serveur web se trouvant derrière le reverse proxy.
  
 Les fichiers et les dossiers de configuration utilisés seront : Les fichiers et les dossiers de configuration utilisés seront :
Ligne 161: Ligne 121:
 La configuration se fait dans le fichier /etc/nginx/nginx.conf La configuration se fait dans le fichier /etc/nginx/nginx.conf
  
-Contenu du fichier +Contenu du fichier
  
 <code> <code>
Ligne 237: Ligne 197:
 |gzip_comp_level ##**Syntaxe:** ?  | niveau de compression (peut aller jusqu'à 9) | |gzip_comp_level ##**Syntaxe:** ?  | niveau de compression (peut aller jusqu'à 9) |
 | gzip_proxied any ##**Syntaxe:** ?  | activer la compression pour la réponse du serveur web derrière le reverse proxy | | gzip_proxied any ##**Syntaxe:** ?  | activer la compression pour la réponse du serveur web derrière le reverse proxy |
-| gzip_vary on; ##**Syntaxe:** gzip_vary **on**  **off**; | Active ou désactive l'insertion de **Vary: Accept-Encoding** dans le header de votre requête ACK. Seulement si un des modules **gzip**, gzip_static ou gunzip sont actif. Dans le cas du site ubuntu-fr.org le module **gzip_vary** est sur **off**((http://stackoverflow.com/questions/7848796/what-does-varyaccept-encoding-mean)), la compression de notre header ne semble donc pas active.. .((+| gzip_vary on; ##**Syntaxe:** gzip_vary **on**  **off**; | Active ou désactive l'insertion de **Vary: Accept-Encoding** dans le header de votre requête ACK. Seulement si un des modules **gzip**, gzip_static ou gunzip sont actif. Dans le cas du site ubuntu-fr.org le module **gzip_vary** est sur **off**((https://stackoverflow.com/questions/7848796/what-does-varyaccept-encoding-mean)), la compression de notre header ne semble donc pas active.. .((
 HTTP/1.1 200 OK HTTP/1.1 200 OK
 Server: nginx Server: nginx
Ligne 260: Ligne 220:
 Accept: */*)) pour récupérer l'**User-Agent** de votre visiteur. Vous noterez qu'il existe une exception à la règle concernant les regexp -> [[https://fr.wikipedia.org/wiki/Internet_Explorer_6|msie6]] :-), si cette exception ne serait pas d'actualité, nous aurions utilisé cette regexp: <code>MSIE [4-6]\.</code> | Accept: */*)) pour récupérer l'**User-Agent** de votre visiteur. Vous noterez qu'il existe une exception à la règle concernant les regexp -> [[https://fr.wikipedia.org/wiki/Internet_Explorer_6|msie6]] :-), si cette exception ne serait pas d'actualité, nous aurions utilisé cette regexp: <code>MSIE [4-6]\.</code> |
 |limit_zone gulag $binary_remote_addr 1m ##**Syntaxe:** ? | crée une zone de stockage nommée « gulag » utilisant  moins de 1 mo de RAM, contenant l'état des connexions classé par adresse ip | |limit_zone gulag $binary_remote_addr 1m ##**Syntaxe:** ? | crée une zone de stockage nommée « gulag » utilisant  moins de 1 mo de RAM, contenant l'état des connexions classé par adresse ip |
-| limit_conn gulag 50 ##**Syntaxe:** ? | limite le nombre de demande de connexions parallèles à 50 par client | +| limit_conn gulag 50 ##**Syntaxe:** ? | limite le nombre de demande de connexions parallèles à 50 par client |
 | include /etc/nginx/mime.types; ##La liste des types MIME résolu par les extensions de fichiers. | Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web http://votrendd.tld/hello.html ou ceci est une vidéo ogg ..  http://votrendd.tld/mavideo.ogg pour que Nginx "comprenne" que c'est un format **.html** ou un format **.ogg** il lui faut un fichier mime.types). | | include /etc/nginx/mime.types; ##La liste des types MIME résolu par les extensions de fichiers. | Cette liste indique la nature des fichiers renvoyées par le serveur (ex: ceci est une page web http://votrendd.tld/hello.html ou ceci est une vidéo ogg ..  http://votrendd.tld/mavideo.ogg pour que Nginx "comprenne" que c'est un format **.html** ou un format **.ogg** il lui faut un fichier mime.types). |
  
Ligne 271: Ligne 231:
 Si vous voulez plus d'informations sur la configuration du proxy, allez voir la section de la documentation officielle [[http://wiki.nginx.org/NginxHttpProxyModule|ici]]. Si vous voulez plus d'informations sur la configuration du proxy, allez voir la section de la documentation officielle [[http://wiki.nginx.org/NginxHttpProxyModule|ici]].
  
-Contenu du fichier  +Contenu du fichier 
  
 <code> <code>
Ligne 313: Ligne 273:
     * les codes d'erreurs seront interceptés et une page sera renvoyée     * les codes d'erreurs seront interceptés et une page sera renvoyée
  
-Contenu du fichier trucbidule:+Contenu du fichiertrucbidule:
  
 <code> <code>
Ligne 339: Ligne 299:
  
  
-location ~*^.+(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav| +location ~*^.+(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
-bmp|rtf|js)$ {+
     proxy_pass http://192.168.0.100:80;     proxy_pass http://192.168.0.100:80;
     proxy_cache cache;     proxy_cache cache;
Ligne 419: Ligne 378:
   * [[http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian|Installation de Nginx et PHP-FPM sur Debian/Ubuntu]] via HowToForge   * [[http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian|Installation de Nginx et PHP-FPM sur Debian/Ubuntu]] via HowToForge
   * [[http://www.howtoforge.net/installing-nginx-with-php-5.3-and-php-fpm-on-ubuntu-lucid-lynx-10.04|Installation de Nginx et PHP-FPM sur Ubuntu 10.04]]   * [[http://www.howtoforge.net/installing-nginx-with-php-5.3-and-php-fpm-on-ubuntu-lucid-lynx-10.04|Installation de Nginx et PHP-FPM sur Ubuntu 10.04]]
 +  * configurateur en ligne [[https://www.digitalocean.com/community/tools/nginx#?]] (précédemment nginxconfig.io)
   * Nginx et PHP tournant en FastCGI : FIXME à compléter   * Nginx et PHP tournant en FastCGI : FIXME à compléter
 +  * connaître la version de nginx installé : <code bash>nginx -V</code>
  
 ---- ----
  
 ===== Voir aussi ===== ===== Voir aussi =====
-  * [[http://nginx.net/|Site officiel de Nginx]] +  * [[https://nginx.org/|Site officiel de Nginx]]
-  * [[http://wiki.nginx.org/NginxFr|Wiki Nginx]] **(fr)**+
   * [[wp>fr:Nginx|Nginx sur Wikipédia]]   * [[wp>fr:Nginx|Nginx sur Wikipédia]]
-  * [[http://www.it-connect.fr/installation-du-serveur-web-nginx/|Installation de Nginx sous Linux]] **(fr)** 
-  * [[http://www.it-connect.fr/installer-un-serveur-lemp-linux-enginex-mysql-php/|Mise en place d'un serveur LEMP (Linux EngineX MySQL PHP) avec Nginx]] **(fr)** 
-  * [[http://www.it-connect.fr/gerer-le-log-level-sous-nginx/|Gérer le log level sous Nginx]] **(fr)** 
  
 ---- ----
  
-//Contributeur principaux : [[:utilisateurs:ButterflyOfFire]], [[:utilisateurs:lildadou]], [[utilisateurs:##ubuntu-fr]], [[:utilisateurs:Miam Miam]] (Tutoriel Reverse Proxy Nginx), [[utilisateurs:BeAvEr]] (Refonte de l'intégralité du tutoriel).//+//Contributeur principaux : [[:utilisateurs:ButterflyOfFire]], [[:utilisateurs:lildadou]], [[:utilisateurs:Miam Miam]] (Tutoriel Reverse Proxy Nginx), [[utilisateurs:BeAvEr]] (Refonte de l'intégralité du tutoriel).//