Outils pour utilisateurs

Outils du site


serveurs:nginx:faq

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
serveurs:nginx:faq [08/12/2014 16:28]
127.0.0.1 modification externe
serveurs:nginx:faq [01/04/2016 19:40] (Version actuelle)
julp [Comment faire travailler nginx sur l'adresse IP réelle du client et non celle du proxy quand nginx est derrière un mandataire ?]
Ligne 16: Ligne 16:
   * nginx ne prend pas (encore ?) en charge bcrypt   * nginx ne prend pas (encore ?) en charge bcrypt
  
-====== Comment rediriger son domaine sans www => avec ? ======+====== Comment rediriger son domaine ... ====== 
 + 
 +===== ... sans www => avec ? =====
  
 <code>server { <code>server {
Ligne 23: Ligne 25:
 }</code> }</code>
  
 +===== ... pour forcer https =====
 +
 +<code>server {
 +    server_name x.y.z;
 +    # remplacer $server_name par $host si le même bloc server gère en fait plusieurs VH
 +    return 301 https://$server_name$request_uri;
 +}</code>
 +
 +====== Supprimer un cookie ======
 +
 +<code>add_header Set-Cookie "NomDuCookieASupprimer=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/";</code>
 +
 +Les attributs chemin (path), httponly (ajouter ''; httponly'' à fin de la chaîne ci-dessus), domain (''; domain=x.y.z'') et secure (''; secure'') doivent être repris si la valeur ne correspond pas à celle par défaut.
 +
 +====== Nginx et proxy ======
 +
 +===== Comment faire suivre le protocole initial (http vs https) au backend ? =====
 +
 +Faites suivre l'information en insérant une entête HTTP (appelée X-Forwarded-Proto ici) qui reprend le protocole (http ou https) d'origine de la requête.
 +<code>proxy_set_header X-Forwarded-Proto $scheme;</code>
 +Ainsi, vous devriez la retrouver ensuite :
 +  * pour PHP, sous la variable ''$_SERVER['HTTP_X_FORWARDED_PROTO']''
 +  * pour Apache, la variable de réécriture ''%{HTTP:X_FORWARDED_PROTO}''
 +
 +===== Comment faire travailler nginx sur l'adresse IP réelle du client et non celle du proxy quand nginx est derrière un mandataire ? =====
 +
 +Nécessite le module ngx_http_realip_module.
 +
 +<code>set_real_ip_from A.B.C.D;
 +real_ip_header X-Forwarded-For;
 +
 +# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</code>
 +
 +A.B.C.D est à remplacer par la ou les adresses (éventuellement via la notation CIDR) IP "interne" du mandataire en amont (127.0.0.1 s'ils sont tous deux sur le même hôte).
serveurs/nginx/faq.1418052506.txt.gz · Dernière modification: 12/11/2015 18:48 (modification externe)