ワニス-エラー503バックエンドフェッチに失敗しました

このエラーが発生しました。どうすればよいですか?何度も編集しようとしましたが、まだ機能しません。

エラー503バックエンドフェッチに失敗しました
バックエンドフェッチに失敗しました

Guru Meditation :
XID:35

ワニスキャッシュサーバー

My CentOS 7:/etc/varnish/varnish.params

#ワニス環境の構成の説明。これは、#古いスタイルのsysconfig / defaults設定から派生したものです

#これを1に設定すると、systemdreloadが再起動せずにVCLを切り替えようとします。 RELOAD_VCL = 1

#メイン構成ファイル。あなたはおそらくそれを変更したいと思うでしょう。 VARNISH_VCL_CONF = /etc/varnish/default.vcl

#バインドするデフォルトのアドレスとポート。空白のアドレスは、すべてのIPv4#およびIPv6インターフェースを意味します。それ以外の場合は、ホスト名、IPv4ドット付き#クワッド、またはIPv6アドレスを括弧で囲んで指定します。 #VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80

#管理インターフェイスのリッスンアドレスとポートVARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082

#管理インターフェイスの共有シークレットファイルVARNISH_SECRET_FILE = / etc varnish / secret

#バックエンドストレージの仕様。詳細については、varnishd(5)#manページのストレージタイプを参照してください。 VARNISH_STORAGE = “malloc、1024M”

#varnishdワーカープロセスのユーザーとグループVARNISH_USER = varnish VARNISH_GROUP = varnish

#その他のオプションについては、manページvarnishd(1)DAEMON_OPTS =を参照してください。 “-a:80 -T localhost:6082 -f /etc/varnish/default.vcl -S / etc / varnish / secret -s malloc、1024m -p thread_pool_min = 5 -p thread_pool_max = 500 -p thread_pool_timeout = 300 -p http_resp_hdr_len = 65536 -p http_resp_size = 98304 -p Workspace_backend = 98304 “

更新:

1)はい、生成されたvclファイルMagentoによる。

2)

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4338 / varnishd

tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 4337 / varnishd

tcp6 0 0 ::: 80 ::: * LISTEN 4338 / varnishd

tcp6 0 0 ::: 8080 ::: * LISTEN 3905 / httpd

3)編集されたvclのiは、/ pub /のみの場合にhttp:// beacuseを追加しましたhealth_check.phpは503になりますが、追加されたhttp://テーマはcssなしで何か間違っているように見えます。

.probe = {。 url = “ http://example.com/pub/health_check.php “;

4)このコマンドを使用しました

curl -I -v –location-trusted “ http://example.com

これを表示しますが、機能しているかどうかはわかりません。 var / page_cache /ディレクトリは空ではありません。 mage-tagsファイルはまだここにあります。

< X-Magento-Cache-Control:max-age = 0、must-revalidate、no-cache、no-store

X-Magento-Cache-Control:max-age = 0、must-revalidate、no-cache、no-store <年齢:0年齢:0 <

X-Magento-Cache-Debug:MISS

X -Magento-Cache-Debug:MISS

コメント

  • バックエンドに接続できません。 'の編集ファイル/etc/varnish/default.vclを許可します。行.url = " /pub/health_check.php "を見つけて、変更します。url= " / ";または.url = " /health_check.php ";

回答

/etc/varnish/default.vclと比較した後、 .probe セクションでこれを解決できます。プローブがなぜこれを引き起こしたのかまだ疑問に思っています

backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; .probe = { .url = "/pub/health_check.php"; .timeout = 2s; .interval = 5s; .window = 10; .threshold = 5; } } 

to

backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; } 

更新:

次の行を変更するだけです:

.url = "/pub/health_check.php"; 

to

.url = "/health_check.php"; 

問題を解決しました。この記事を参照してください https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/

回答

エラーにはいくつかの可能性があります。このチュートリアル(ソリューション2)に従い、エラーを正常に修正しました: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/

1。 Magentoで使用されるキャッシュタグの長さがVarnishのデフォルト値を超えています

Varnish構成ファイルのhttp_resp_hdr_len値を変更します。 (HTTPバックエンド応答ヘッダーの最大長

ワニス構成ファイルへのパスは

-Ubuntu:/ etc / default / varnish

-Centos 6: / etc / sysconfig / varnish

-Centos 7:/ etc / varnish / varnish。params

http_resp_hdr_len値(thread_pool_maxの後の101行目にあります)を

また、http_resp_size

-p http_resp_size=100000 \ 

2。 Varnish構成ファイル内のhealth_check.phpの場所が間違っています

Varnish構成ファイル(/etc/varnish/default.vcl)に移動し、これらの行を見つけます

.probe = { .url = "/pub/health_check.php"; 

変更

.probe = { .url = "/health_check.php"; 

コメント

  • init systemd構成(/lib/systemd/system/varnish.service)でhttp_resp_hdr_lenとhttp_resp_sizeを変更するとうまくいきました。ありがとう!

回答

「エラー503バックエンドフェッチに失敗しました」エラーは通常、次の2つのことを意味します。

  • 構成の問題により、VarnishはMagentoから応答をフェッチできません
  • Magento側に問題があります。 Magentoは5xxHTTP応答コードを送信します。

Varnish構成の問題

構成の問題はたくさんありますが、最も一般的なものは次のとおりです。

  • デフォルトのdefault.vclファイルが使用されます。 Magentoによって生成されたvclファイルを必ず取得してください
  • vclファイルで指定された間違ったバックエンド。 vclファイルで指定されているポートとIPアドレスを確認してください。 netstat -tnulpが実行中のサービスとそのポートを確認するのに便利なツールであることがわかりました
  • Magentoインスタンスがweb_rootにありません。 vclファイル内のすべての相対パスを確認し、対応するプレフィックス(ヘルスチェックファイル、メディアファイルなど)を追加します。

変更するたびにニスを再起動する必要があります。

Magento関連の問題

通常、これらはいくつかのファイル権限に関するものです。正確な問題を見つけるには、ニスをスキップしてWebサーバーに直接アクセスする必要があります- http://your_domain.com :{web_server_port } /。次に、./bin/magento deploy:mode:set developerコマンドを使用してコンソールでMagento開発者モードをオンにし、app/bootstrap.php。これらすべてのアクションの後、正確なエラーメッセージが表示されます

コメント

  • 元の投稿1、2、3、4を更新しました。確認してください、ありがとうございますあなた
  • URLにmagento2チャンクがあります。 vclファイルのすべての相対パスにmagento2 /プレフィックスを追加するだけです。例えば。 probe_url = domain.com / magento2 / pub / health_check。また、magento管理パネルでページキャッシュをニスに切り替えるようにしてください
  • ただし、http://テーマを追加すると、CSSが間違っているように見えます。いいえ、public_html、domain.com / magento2 <にある私のmagentoはサンプル用です。どういう意味ですか? Magento管理パネルでページキャッシュをニスに切り替えますか?キャッシュ管理とは?ありがとう
  • magento管理パネルでページキャッシュをニスに切り替えるとは何ですか?キャッシュ管理とは?ありがとう
  • 設定はストアにあります->構成->詳細->システム->フルページキャッシュ。パスの前にhttpを指定する必要はありません。代わりに、Magentoへの相対パスである必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です