web-dev-qa-db-ja.com

奇妙なニス503エラー-これはどういう意味ですか?

私のオンラインホワイトボードアプリケーションは以前は機能していましたが、何らかの理由で機能しなくなりました。これで、次のように503 Varnishキャッシュエラーが表示されます。 http://grab.by/eFHG

この問題を解決するために、どこから始めればよいか知っていますか?

ありがとう!ドニー

15
Donny

このエラーは、Varnishがタイムアウト制限内でバックエンドからの応答(HTTPエラーでなくても)を持っていなかったことを意味します。

さまざまな方法でトラブルシューティングできます。

  • バックエンド:ウェブサーバーログにVarnishからのリクエストが表示されますか?

  • Varnishサーバーの場合:varnishlogを実行して、リクエストプロセスを確認します。イベントは、RxRequest> TxRequest> RxResponse> TxResponseの順序である必要があります。あなたの問題は、TxRequest(バックエンドに送信されたリクエスト)とRxResponse(バックエンドから受信した応答)の間です。

  • Varnishサーバーで、telnet(telnet)を使用してバックエンドに接続してみます。接続していますか?含まれている場合は、リクエストを送信してみてください(例:「GET /」)。返事はありますか?

考えられる原因は次のとおりです:ワニスとバックエンドの間のファイアウォール/ selinuxブロッキング、ワニスの不良またはバックエンドWebサーバー設定(バックエンドアドレスとポートの同期?)、Webサーバーの停止、...

13

/etc/varnish/default.vcl(CentOS)はいつでも確認できます。

backend default {
  .Host = "127.0.0.1";
  .port = "80";
}

.Hostの値がサーバーのIPアドレスであることを確認し、ポートを8080に変更して、/etc/httpd/conf/httpd.confのポート設定を調整し、Apacheが8080をリッスンするようにします。

[〜#〜]編集[〜#〜]
また、Webサーバー(Apache)にwrong/ default設定があることを意味する場合もあります。

  • 仮想ホストポートを確認してください。値は80である可能性があります。8080である必要があります。
  • ListenディレクティブとServerNameを確認してください。8080ポートが必要です。
  • 必ずSudo systemctl enable varnishを実行してください。
  • そして最後の仕上げとして、Sudo rebootを実行します(キャッシュプログラムが開発状態で私を悩ませています)。
4
John Smith