Maison >développement back-end >tutoriel php >Plusieurs façons d'écrire un proxy inverse DNS dynamique Nginx

Plusieurs façons d'écrire un proxy inverse DNS dynamique Nginx

不言
不言original
2018-05-09 10:37:042177parcourir

Cet article présente principalement plusieurs façons d'écrire en détail le proxy inverse DNS dynamique Nginx, et présente en détail 4 méthodes de proxy inverse DNS dynamique Nginx. Il est d'une grande valeur pratique. Les amis qui en ont besoin peuvent s'y référer

.

La mise à jour de cet article a été retardée d'un demi-mois, et cela a vraiment ému la Chine.

Nginx mettra en cache le DNS par défaut. Comme nous le savons tous, si vous effectuez un proxy inverse, c'est en fait l'adresse IP cible à laquelle vous accédez, donc une fois l'adresse IP cible mise en cache, ce sera très gênant.

Les quatre façons d'écrire le mot fenouil sont connues dans le monde entier. Je ne m'attendais pas à ce que le proxy inverse DNS dynamique Nginx ait également N façons de jouer. Cela dépend principalement de la version de Nginx que vous utilisez. l'exploitation et la maintenance m'ont dit qu'il est préférable de ne pas utiliser de DNS dynamique, mais en fonction des besoins de l'entreprise, nous n'avons pas le choix.

La première façon d'écrire le mot fenouil : Nginx

Dans Nginx, vous pouvez sauver le pays en définissant des variables. Bien sûr, il n'y a pas d'inconvénients. façon d'équilibrer la charge via la méthode variable. , très gênante. Bien sûr, si vous n'avez qu'une seule machine (presque inexistante dans les scénarios commerciaux réels), vous pouvez toujours l'essayer :

server {
  ...
  resolver 127.0.0.1;
  set $backend "http://dynamic.example.com:80";
  proxy_pass $backend;
  ...
}

La deuxième façon d'écrire : Nginx Plus

Bien sûr, Nginx n'est pas très simple à utiliser La version améliorée de Plus propose. une meilleure façon d'écrire, qui prend en charge l'écriture dans le serveur :

server {
  ...
  resolver 127.0.0.1 valid=30s;
  proxy_pass http://upstream-sites;
  ...
}

La troisième façon d'écrire : Tengine

Tengine est le Nginx modifié de Taobao, ce qui me dérange en fait, car je ne savais pas que nous utilisions Tengine au début, donc la configuration était inutile. Cependant, Tengine prend très bien en charge la résolution dynamique de noms de domaine, et. la documentation officielle est également très claire.

upstream backend {
  dynamic_resolve fallback=stale fail_timeout=30s;
  server a.com;
  server b.com;
}
server {
  ...
  location / {
    proxy_pass http://backend;
  }
}

Autres

Bien sûr, vous pouvez également utiliser des scripts Lua, ou des modules d'autres personnes, mais Considérant la peur de causer des ennuis, j'ai décidé de ne pas m'en mêler, donc je n'ai pas adopté ce plan.

Ce qui précède représente l'intégralité du contenu de cet article. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois.

Recommandations associées :

Exemple de configuration de websocket de proxy inverse Nginx

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn