Varnish-오류 503 백엔드 가져 오기 실패

이 오류가 발생합니다. 어떻게해야합니까? 편집을 여러 번 시도했지만 여전히 작동하지 않습니다.

오류 503 백엔드 가져 오기 실패
백엔드 가져 오기 실패

Guru Meditation :
XID : 35

Varnish 캐시 서버

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

# Varnish 환경 구성 설명. 이것은 # 이전 스타일 sysconfig / defaults 설정에서 파생되었습니다.

# systemd 다시로드가 다시 시작하지 않고 VCL을 전환하도록하려면 이것을 1로 설정하십시오. 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) # 매뉴얼 페이지의 저장소 유형을 참조하십시오. VARNISH_STORAGE = “malloc, 1024M”

# 니스 처리 된 작업자 프로세스에 대한 사용자 및 그룹 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 00 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) i in vcl edited added http : // beacuse when i only / pub / 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; } } 

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

업데이트 :

다음 줄만 변경하세요.

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

~

.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 백엔드 응답 헤더의 최대 길이

varnish 구성 파일의 경로는

-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 위치

Vannish 구성 파일 (/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 백엔드 가져 오기 실패”오류는 일반적으로 다음 두 가지를 의미합니다.

  • Varnish는 구성 문제로 인해 Magento에서 응답을 가져올 수 없습니다.
  • Magento 측에 문제가 있습니다. Magento는 5xx HTTP 응답 코드를 보냅니다.

Varnish 구성 문제

구성 문제가 많지만 가장 일반적인 것은 다음과 같습니다.

  • 기본 default.vcl 파일이 사용됩니다. Magento에서 생성 한 vcl 파일
  • vcl 파일에 지정된 잘못된 백엔드를 가져와야합니다. vcl 파일에 지정된 포트 및 IP 주소를 확인하십시오. 실행중인 서비스와 해당 포트를 확인하는 데 netstat -tnulp 유용한 도구를 찾았습니다.
  • Magento 인스턴스가 web_root에 없습니다. vcl 파일의 모든 상대 경로를 확인하고 해당 접두사 (상태 확인 파일, 미디어 파일 …)를 추가합니다.

변경할 때마다 니스를 다시 시작해야합니다.

Magento 관련 문제

보통 파일 권한에 관한 것입니다. 정확한 문제를 찾으려면 니스를 건너 뛰고 웹 서버를 직접 방문해야합니다. http://your_domain.com : {web_server_port } /. 그런 다음 ./bin/magento deploy:mode:set developer 명령을 사용하여 콘솔에서 Magento 개발자 모드를 켜고 app/bootstrap.phpini_set(“display_errors”, 1); 줄의 주석 처리를 제거 할 수 있습니다. div>. 이 모든 작업을 마치면 정확한 오류 메시지가 표시됩니다.

댓글

  • 원래 게시물 1,2,3,4를 업데이트했습니다. 확인하시기 바랍니다. 감사합니다. 당신
  • URL에 magento2 청크가 있습니다. vcl 파일의 모든 상대 경로에 magento2 / 접두사를 추가하기 만하면됩니다. 예 : probe_url = domain.com/magento2/pub/health_check. 또한 magento 관리자 패널에서 페이지 캐시를 니스로 전환했는지 확인하십시오.
  • 하지만 http : // 테마를 추가하면 CSS가 잘못된 것처럼 보입니다. 아니요, public_html의 내 magento, domain.com/magento2 <-는 exsample 용입니다. 무슨 뜻입니까? magento 관리자 패널에서 페이지 캐시를 니스로 전환 하시겠습니까? 캐시 관리 란? 감사합니다.
  • magento 관리자 패널에서 페이지 캐시를 니스로 전환하는 것이 무엇입니까? 캐시 관리 란? 감사합니다.
  • 설정은 스토어-> 구성-> 고급- 시스템-> 전체 페이지 캐시. 경로 앞에 http를 지정할 필요가 없습니다. 대신 Magento의 상대 경로 여야합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다