Directives de Production Proxy NGINX [FR]

7 January 2020 by admin

Les directives NGINX nécessaires à Yavli Resilience doivent être placées à l’intérieur de la directive serveur de votre site. Presque tous les sites peuvent utiliser l’une des solutions proxy suivantes, qui dépend de votre configuration NGINX existante, et peuvent encore nécessiter une certaine personnalisation pour fonctionner avec votre configuration particulière.

L’équipe Yavli est toujours heureuse de vous aider à configurer la solution. Vous pouvez nous envoyer votre fichier de configuration NGINX existant, et nous y implémenterons les directives proxy.

Solution 1: proxy basé sur l’emplacement

location ~.*\.(jpg|jpeg|png|gif|js|css)$ {
  error_page 404 = @yavli;
}
location @yavli {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Host $host;
  proxy_pass http://steg.yavli.com;
}

Solution 2: proxy basé sur l’emplacement imbriqué

Les configurations NGINX contiennent souvent des blocs d’emplacement correspondant à tous les suffixes d’image (jpg / png / gif) auxquels il peut appliquer des éléments tels que des en-têtes de mise en cache personnalisés. Si c’est le cas dans votre fichier de configuration NGINX, vous devrez imbriquer les directives Yavli à l’intérieur des directives préexistantes. L’équipe Yavli est toujours heureuse de vous aider si vous ne savez pas comment procéder. Le résultat final peut ressembler à ceci:

location ~.*\.(jpg|jpeg|png|gif|js|css|pdf|other|suffxies)$ {
  
  ...other pre-existing directives...
  
  location ~.*\.(jpg|jpeg|png|gif|js|css)$ {
    error_page 404 = @yavli;
  }
}
location @yavli {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Host $host;
  proxy_pass http://steg.yavli.com;
}

Solution 3: proxy basé sur une clause “If”

Certaines configurations NGINX utilisent déjà la fonctionnalité proxy de NGINX afin de créer un système où les requêtes d’images passent par une chaîne logique comme celle-ci:

  1. Vérifiez si des fichiers image existent – si oui, servez-le, sinon passez à l’étape 2.
  2. Envoyer une demande d’image à un serveur proxy (généralement un serveur Web ou d’application interne).

Le proxy basé sur la localisation (solutions 1 et 2) ne fonctionnera pas avec ce type de configuration NGINX, à la place, nous utilisons une clause “if” à la fin de la logique proxy existante. Cette configuration peut ressembler à ceci:

location ~.*.(jpg|jpeg|png|gif|js|css|etc)$ {
  expires 7d;
  try_files $uri @backend;
}
location @backend {
  proxy_pass http://appserver;
  proxy_intercept_errors on;
  if ($uri ~ .*\.(jpg|jpeg|png|gif|js|css)$) {
    error_page 404 = @yavli;
  }
}
location @yavli {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Host $host;
  proxy_pass http://steg.yavli.com;
}

Vous ne savez pas quelle solution vous convient?

L’équipe Yavli est toujours heureuse de vous aider à configurer les directives proxy. Envoyez-nous votre fichier de configuration de site NGINX actuel, et nous déterminerons la méthode qui vous conviendra le mieux.