問題タブ [http-status-code-504]

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 に答える
3282 参照

amazon-web-services - AWS ELB (Elastic Load Balancer) がすぐに 504 (ゲートウェイのタイムアウト) を返すことがあるのはなぜですか?

ELB は時折 504 をクライアントにすぐに返します (1 秒以内)。問題は、それが完全にランダムであることです。リクエストをすぐに繰り返すと、正常に機能します。

誰もがこれについて同じ問題や考えを持っていますか?

0 投票する
2 に答える
311 参照

java - Java Restlet で 503/504 エラーが発生し、実行が停止する

Restletを使用して毎秒サーバーにリクエストを送信するようにJavaプログラムをセットアップしていますが、毎週同じ時間に、プログラムを実行している時間内に約1分間メンテナンスを行います。

その結果、504 エラーが 2 回発生し、次に 503 エラーが発生し、何らかの理由でプログラムの実行が停止します。503エラーの後、続行しません。それは言います:

回復可能なエラーが検出されました (503)、2000 ミリ秒後に再試行します

しかし、再試行しません。毎秒サーバーにリクエストし続けるように設定したので(「回復可能なエラー」に達すると停止します)、プログラムに504および503エラーを無視させ、何事もなかったかのように進みます。

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

nginx - Nginx が見つかりませんが、サーバーには「504 Gateway Time-out」と表示されます (WHM/cpanel)

サーバーが WHM/Cpanel で動作し、長時間の php スクリプトを実行すると、サーバーに「504 ゲートウェイ タイムアウト」が表示されます。

しかし、サーバー上にnginxファイルが見つかりません...試しました:

find / -name nginx.conf

nginxはどこですか

ps -lA | awk '$12 == "?" {印刷 $4、$14}'

nginx -V

OS:CentOS

クラウドフレアを使用しているサイト

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

php - 説明が必要: PHP5-FPM の TIME_WAIT が 60 秒間開いたままになる

先日、nginx Web サーバーが php スクリプトの処理を停止し、504 ゲートウェイ タイムアウトが発生するという問題に遭遇しました。ポート9000でphp5-fpmをセットアップしました。

実行するとnetstat | grep 9000、次の結果が得られました。異なるポート番号で何百回も

そして、彼らはまったく片付けられていないようでした。サーバーに大量のトラフィックがヒットしたか、どこかでスクリプトが間違っていた可能性があります。サーバーから優先度の低いサイトの束をシャットダウンし(約10個の異なるnginxサイト構成ファイルを実行しています)、物事は再び動作していますが、phpページへのリクエストごとにnetstatがそれらの9000-> 37XXXポートの1つを報告し、ページはほぼ瞬時にクライアントに返されますが、60 秒間開いたままになります。

60秒間開いたままにする理由はありますか? または、接続が再利用されないのはなぜですか? 何かが正しく構成されていませんか?

サイトの 1 つに再び大量のトラフィックが発生すると、すべての接続が再び拘束され、504 ゲートウェイ タイムアウトが再び表示されるのではないかと心配しています。悪いphpスクリプトではありません。

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

python - Plotly & Python - 504 ゲートウェイ タイムアウト

職場のデバイスからの大規模なデータ セットを分析し、Plotly を使用してデータをグラフ化するために作成した小さなプログラムがあります。最近までうまく機能していましたが、先週、データをグラフ化するときに 504 ゲートウェイ タイムアウト サーバー エラーが発生しました。コードのグラフ部分を変更してみましたが、コードは何も変更されていません。python/anaconda の両方の再インストールと、plotly python ライブラリのインストールと更新を試みました。3 つの異なるアカウントを使用して、plotly の API 資格情報を再初期化しましたが、成功しませんでした。これまでのところ、すべての努力にもかかわらずエラーは解決されていませんが、Python コンソールを使用するとプロットをグラフ化できます。

これに関するヘルプは非常に役立ちます。必要に応じて、コードの一部を投稿できます。以下は、コンソールが出力するエラーです。

ファイル "NKDA_2.1.py"、51 行目、thisPulseCount、thisArcCount、thisMaxCurrent = FH.processFile(procedureID, currentProcedure, resultsFolder) ファイル "C:\Users\cellison\Documents\Data Analysis\fileHandling.py"、97 行, in processFile unique_url = py.plot(fig, filename=graphName) ファイル "C:\Users\cellison\AppData\Local\Continuum\Anaconda\lib\site-packages\plotly\plotly\plotly.py", 行 262, in plot res = _send_to_plotly(figure, **plot_options) ファイル "C:\Users\cellison\AppData\Local\Continuum\Anaconda\lib\site-packages\plotly\plotly\plotly.py"、1421 行目、_send_to_plotly r .raise_for_status() ファイル "C:\Users\cellison\AppData\Local\Continuum\Anaconda\lib\site-packages\requests\models.py"、851 行目、raise_for_status で HTTPError(http_error_msg, response=self) リクエストを発生させます。exceptions.HTTPError: 504 サーバー エラー: GATEWAY_TIMEOUT

0 投票する
3 に答える
13081 参照

php - 504 Gateway Timeout のデバッグとその実際の原因と解決策

RHEL 6.6 の Web サーバー Varnish + Nginx + FastCGI (php-fpm) で次のスタックを実行しています。

毎回異なる結果セットを持つ動的な Web サイトであり、Google でインデックス化された約 200 万の URL があります。

  • nginx/1.5.12 および PHP 5.3.3 で実行されます (最新の nginx および PHP にすぐにアップグレードされます)。
  • Nginx は、ポート 9000 で同じサーバー上でローカルに実行されている php-fpm に接続します

一部のページで断続的に 504 ゲートウェイ タイムアウトが発生しますが、解決できません。504 を与える URL は、しばらくすると正常に動作します。ログから 504 について知ることができましたが、任意の URL でランダムに発生し、しばらくすると機能するため、これを複製することはできませんでした。

私は開発者といくつかの議論をしましたが、彼によると、基礎となるphpスクリプトはほとんど何もせず、これほど長くはかからないはずです(120秒)が、それでも504ゲートウェイタイムアウトが発生します.

問題が発生した正確な場所を特定する必要があります。

  • Nginxの問題ですか?
  • php-fpm に問題がありますか?
  • 基礎となるphpスクリプトに問題がありますか?
  • nginx が php-fpm に接続できない可能性はありますか?
  • への TCP/IP 接続の代わりに Unix ソケットを使用すると解決しますか?

URL は 504 で 120 秒後にタイムアウトします

以下は見られるエラーです: 2016/01/04 17:29:20 [エラー] 1070#0: *196333149 アップストリーム タイムアウト (110: 接続タイムアウト) アップストリームへの接続中に、クライアント: 66.249.74.95、サーバー: xxxx、リクエスト: "GET /Some/url HTTP/1.1"、アップストリーム: "fastcgi://127.0.0.1:9000"、ホスト: "example.com"

以前は 150 秒の fastcgi_connect_timeout で、RHEL 6.6 ではデフォルトの net.ipv4.tcp_syn_retries = 5 で 63 秒後に 502 ステータス コードが表示されていました。その後、net.ipv4.tcp_syn_retries = 6 を設定すると、127 秒後に 502 が返され始めました。

fastcgi_connect_timeout = 120 を設定すると、504 ステータス コードが返され始めました。このような高い値の fastcgi_connect_timeout が良くないことは理解しています。

正確に 504 を取得している理由を見つける必要があります (タイムアウトはわかっていますが、原因は不明です)。根本的な原因を突き止めて、完全に修正する必要があります。

問題の正確な場所を確認するにはどうすればよいですか?

すでに定義されているタイムアウトの一部を次に示します。

サーバー全体の nginx.conf の下:

  • キープアライブ_タイムアウト 5;
  • send_timeout 150;

特定の vhost.conf の下:

  • proxy_send_timeout 100
  • proxy_read_timeout 100
  • プロキシ接続タイムアウト 100
  • fastcgi_connect_timeout 120
  • fastcgi_send_timeout 300
  • fastcgi_read_timeout 300

タイムアウトにはさまざまな値が使用されるため、どのタイムアウトが正確にトリガーされたかを把握できます。

以下は sysctl.conf の設定の一部です:

  • net.ipv4.ip_local_port_range = 1024 65500
  • net.ipv4.tcp_fin_timeout = 10
  • net.ipv4.tcp_tw_reuse = 1
  • net.ipv4.tcp_syn_retries = 6
  • net.core.netdev_max_backlog = 8192
  • net.ipv4.tcp_max_tw_buckets = 2000000
  • net.core.somaxconn = 4096
  • net.ipv4.tcp_no_metrics_save = 1
  • vm.max_map_count = 256000

コードの記述が不十分な場合は、nginx または php-fpm が原因ではなく、php コードの問題が原因で 504 が発生していることを開発者に通知する必要があります。Nginx または Php-fpm が原因である場合は、修正する必要があります。

前もって感謝します!

======

さらに更新:

2 つのケースがあります。

  1. 504 @ 120 秒で以下のエラーが発生します:

2016/01/05 03:50:54 [エラー] 1070#0: *201650845 アップストリーム タイムアウト (110: 接続タイムアウト) アップストリームへの接続中に、クライアント: 66.249.74.99、サーバー: xxxx、要求: "GET /some /url HTTP/1.1"、アップストリーム: "fastcgi://127.0.0.1:9000"、ホスト: "example.com"

  1. 504 @ 300 秒で、以下のエラーが発生します。

2016/01/05 00:51:43 [エラー] 1067#0: *200656359 アップストリームがタイムアウトしました (110: 接続がタイムアウトしました) アップストリームからの応答ヘッダーの読み取り中に、クライアント: 115.112.161.9、サーバー: 192.168.12.101、リクエスト: "GET /some/url HTTP/1.1"、アップストリーム: "fastcgi://127.0.0.1:9000"、ホスト: "example.com"

  • php-fpm ログにエラーは見つかりませんでした。
  • php-fpm プロセスの数も正常でした。他のリクエストが同時に正常に処理されたため、バックエンドが過負荷になっているようには見えません。

  • 1 つの php-fpm プールのみが使用されています。通常、1 つの php-fpm マスター (親) プロセスとその他のスレーブ (子) プロセスは、5xx が観測された場合にのみ正常範囲にあります。php-fpm プロセスの数が大幅に増加することはなく、たとえ増加したとしても、サーバーには新しいプロセスをフォークしてリクエストを処理するのに十分な容量があります。