ホームページ  >  記事  >  バックエンド開発  >  Nginx ダイナミック DNS リバース プロキシを作成するいくつかの方法

Nginx ダイナミック DNS リバース プロキシを作成するいくつかの方法

不言
不言オリジナル
2018-05-09 10:37:042119ブラウズ

この記事では、主に Nginx ダイナミック DNS リバース プロキシを作成するいくつかの方法を詳しく紹介し、Nginx ダイナミック DNS リバース プロキシの 4 つの方法を詳しく紹介します。必要な方はこの記事を参照してください。更新が半月遅れてしまい、中国は本当に感動しました。

Nginx はデフォルトで DNS をキャッシュします。リバースプロキシを行うと、実際にはアクセスのターゲット IP になるため、ターゲット IP がキャッシュされると非常に面倒になります。

フェンネルという言葉の 4 つの書き方は広く知られていますが、Nginx ダイナミック DNS リバース プロキシにも N 通りの使い方があるとは思いませんでした。もちろん、それは主に使用する Nginx のバージョンに依存します。ダイナミック DNS を使用しないのが最善であると私は考えていますが、ビジネス ニーズに基づいて選択の余地はありません。

最初のフェンネルの書き方: Nginx

Nginxでは、変数を設定することで国を救うことができます。もちろん、変数を介して負荷分散する方法はありません。もちろん、マシンが 1 台しかない場合 (実際にはビジネス シナリオではほとんど存在しません)、試してみることもできます:

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

2 番目の書き方: Nginx Plus

もちろん、Nginx は使いやすいわけではありません。Plus の強化版は、より優れた書き込みメソッドを提供し、サーバーでの書き込みをサポートしています:

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

3 番目の書き込みメソッド: Tengine


Tengine は、淘宝網の魔法を改造したものです。実際、私たちは Tengine が使われていることを知らなかったのでかなりイライラしました。設定は役に立ちませんでしたが、Tengine は動的ドメイン名解決を非常によくサポートしており、公式ドキュメントも非常に明確です。

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

その他

もちろん、Luaスクリプトを使って実装したり、他の人のモジュールを使用したりすることもできますが、いじるのが怖いことを考えると、いじりたくないので、この解決策は採用しませんでした。

上記はこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Nginx リバースプロキシ WebSocket 構成例

以上がNginx ダイナミック DNS リバース プロキシを作成するいくつかの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。