このエラーが発生しました。どうすればよいですか?何度も編集しようとしましたが、まだ機能しません。
エラー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 \