問題タブ [nginx-upstreams]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
246 参照

wordpress - wordpressのロードバランサとしてのNginx、静的ファイルの処理中にエラーが発生しました

次のスタックを使用して、docker で簡単な環境をセットアップしています。

  • ロードバランスとしてのnginx
  • ワードプレスのインスタンス
  • mysql

私の単純なドッカー構成ファイルは次のとおりです。

nginx は基本イメージから構築され、構成は次のとおりです。

my.site.com に接続すると、wordpress インスタンスに正しくリダイレ​​クトされますが、http://wploadbalanceアクセスできない静的ファイルが読み込まれます。

たとえば、私のブラウザ コンソールには次のようなものが表示されます。

ネットをGET http://wploadbalance/wp-includes/js/wp-util.min.js?ver=4.4 ::ERR_NAME_NOT_RESOLVED

dockerwploadbalanceコンテナの外部からはアクセスできないため、何らかの方法で、静的ファイルがmy.site.com. これを達成する方法を知っている人はいますか?

0 投票する
1 に答える
434 参照

nginx - 複数のアップストリームに対する Nginx コンシステント ハッシュ

アップストリーム サーバーは wowza です。上流は2つ

最初のアップストリームは API を指し、2 番目はサムネイル URI を指します。

ハッシュがクエリ パラメータに基づいており、両方のアップストリームで同じサーバーに解決されると考えて、hashKey をクエリ パラメータに変更しましたが、そうではありません。

場合によっては、2 番目のアップストリームが別のサーバーに解決されますが、これはポートの変更によるものだと思います。

両方のアップストリームで一貫したハッシュを一貫させる方法はありますか?

どんな助けでも大歓迎です。

0 投票する
0 に答える
1146 参照

nginx - nginx proxy_next_upstream の動作がおかしい

nginx の proxy_next_upstream の動作がおかしい。

他国にプロキシする上流がリクエストを返さなかった場合に、次のサーバーに渡したい。だから私はこのようにアップストリーム(プロキシから他国へ)を設定しました。

それはうまくいきます。しかし、Tomcat を接続するためのアップストリームも、失敗したときに再試行します。

上流の tomcat 設定

アップストリームに2つ以上のサーバーがある場合にのみ、nginxは次のアップストリームを試みると思います。

ただし、アップストリームにサーバーが 1 つある場合でも、2 回以上試行します。

nginx、Tomcat、Java Spring を使用しています。

私のnginxの設定、アクセスログ、エラーログがあります。

プロキシ構成

ログ形式

アクセスログ

エラーログ

ご覧のとおり、proxy_next_upstream_tries を 2 に設定しました。しかし、2 回以上リトライします。(アクセス ログ : {502, 502, 502, 502} -> アップストリームが次のサーバーへのプロキシを 4 回試行することを意味します)

それについて質問があります。

  1. アップストリームのTomcatが次のサーバーを通過するために再試行しないようにします。出来ますか?
  2. アップストリームにサーバーが 1 つあるのに再試行するのはなぜですか?
  3. 2回以上再試行するのはなぜですか?
  4. アップストリームが 502 を返すと、一時的に接続できないのはなぜですか? (発生時、サーバーの状態は正常でした)

私の質問の 1 つに対する答えを知っている場合は、お知らせください。

ありがとうございました。

0 投票する
1 に答える
247 参照

nginx - サーバー 200 の応答エラーに基づく NGINX ルーティング

私の目標は、構成でnginxのストリームオブジェクトを構成して、特定のヘルスチェックで失敗した場合にリクエストをバックアップアップストリームにルーティングすることです(2/3)

特定の問題ではないと私が信じているヘルスチェック:

-TCP 1212 の可用性

-TCP 1912 の可用性

-7078 での HTTP GET /?

-レスポンスは 200 で、どうにかして体が期待どおりであることを確認できれば、なおさらです。

これらのチェックが、いわば上流の「クラスター」で失敗した場合、バックアップのように、リクエストを別の同一のクラスターにルーティングしたいと思います。

私が解決しようとしている問題は、サーバーが文字通り地球の半分離れているという事実にあります。そのため、1 つのサーバーを介して負荷分散を行うと、そのサーバーが失敗するのを待っている場合と同じ遅延が発生します。そのため、ロード バランサーは最終的に「ルーティング」動作を行いますが、応答時間は受け入れられません。

NGINX構成でこれを行う方法はありますか、それともあまりにも薄く広げていますか?

0 投票する
0 に答える
1137 参照

asp.net-core - NGINX リバース プロキシの背後にある ASP.NET Core

ASP.NET Core 3 アプリを NGINX リバース プロキシの背後で実行しようとすると問題が発生します。このガイドに従っています: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-3.1

SSL 証明書に Let's Encrypt を使用し、ローカル ネットワーク内の別のマシンへのプロキシ パスを使用しています。この問題を解決する方法がよくわかりません。リバース プロキシと Kestrel サーバー間の接続を SSL で保護しようとしましたが、それでもうまくいきません。どんな助けでも大歓迎です。私のNGINX Site.confファイルは次のとおりです。

ASP.NET Core アプリは、NGINX リバース プロキシ (ローカル Ip: 192.168.3.111) とは異なるコンピューター (ローカル Ip: 192.168.3.222) で実行されています。ASP.NET Core アプリが実行されているマシンで NGINX リバース プロキシをセットアップし、127.0.0.1:5000 へのプロキシ パスを設定すると、ローカル ネットワーク経由で問題なくアクセスできます。また、リバース プロキシを受け入れるように Startup.cs を構成しました。

MyDomain.net にアクセスしようとすると、502 Bad Gateway が表示されます。そのため、リバース プロキシはアプリに接続できません。ドキュメントの例では、Kestrel サーバーと同じマシンでリバース プロキシを使用しています。NGINX エラー ログは次のとおりです。

アップストリームへの接続中に失敗しました (111: 接続が拒否されました)、クライアント: 0.0.0.0.1、サーバー: mydomain.net、リクエスト: "GET / HTTP/1.1"、アップストリーム: "http://192.168.3.222:5000/$ 、ホスト:「mydomain.net」

Kestrel サーバーを備えたマシンは、ポート 5000 および 5001 の着信トラフィックを許可します。