Varnish가 500 오류 후 200 응답 캐싱을 중지하는 이유

그것을 추천합니다

백엔드에서 500 오류가 발생한 경우 Varnish의 동작을 이해할 수 없습니다. -MAIN.n_object 카운터를 증가시키는 이유는 무엇입니까? 20x 만 캐시하고 리디렉션해야한다고 생각합니다. -첫 번째 요청이 백엔드에서 500 개의 응답으로 완료되면 백엔드가 시작 되더라도 동일한 URL에 대한 모든 후속 요청이 캐싱되지 않고 200 개의 응답을 반환합니다. 이 논리를 이해하도록 도와주세요.

다닐라 베르시 닌

실제로 기본 VCL을 사용하는 경우 기본 논리는 설명하는대로입니다. 그러나 잠시 후에 캐싱을 시작한다는 사실을 놓치고 있습니다. 일반적으로 2 분.

  1. Varnish는 500 상태를 확인-> 백엔드와 통신하고 2 분 동안 페이지를 캐시하지 않습니다.
  2. 나중에 Varnish는 200 상태를 확인합니다-> Varnish는 페이지를 캐시하고 캐시에서 더 멀리 전달합니다.

이것은 hit-for-pass 를 구현하는 데 필요합니다. 내 이해는 다음과 같습니다. Varnish는 기본적으로 백엔드에 요청을 쌓고 최적화를 위해 도착할 때 보내지 않습니다. Varnish가 캐시 할 수없는 항목 (500 상태 등)을 발견하면 누적 동작을 수행하지 않고 백엔드와 직접 대화합니다 (히트 포 패스).

페이지가 hit-for-pass로 표시되는 시간을 줄이려면 VCL을 추가해야합니다. 이렇게하면 120 초 값이있는 내장 VCL이 실행되지 않습니다. 다음은 500 상태의 페이지를 10 초 동안 캐시 할 수 없음으로 표시합니다.

sub vcl_backend_response {
    if (beresp.status == 500) {
        set beresp.ttl = 10s;
        set beresp.uncacheable = true;
        return (deliver);
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

응답 200이있는 AJAX 오류 (사용자 정의 데이터 유형)

분류에서Dev

Ajax 응답 상태 200이지만 오류 메시지 표시

분류에서Dev

Rails (Puma)가있는 Websockets-WebSocket 핸드 셰이크 중 오류 : 예기치 않은 응답 코드 : 200

분류에서Dev

200 상태의 오류 응답을받는 jQuery Ajax 호출

분류에서Dev

클라이언트는 500 응답 오류를 가져옵니다 왜 서버는 스프링 통합-HTTP에 오류가 발생하지 않지만?

분류에서Dev

Jtable은 메시지 온로드없이 오류를 반환합니다. 응답은 200을 반환합니다.

분류에서Dev

응답을 보낸 후 오류를 반환하는 NodeJS

분류에서Dev

cache-control 헤더가있는 경우에도 Chrome이 응답을 캐싱하지 않는 이유는 무엇입니까?

분류에서Dev

AWS CORS 문제 : 200 개의 상태 코드를받은 후에도 Ajax 응답이 오류로 표시됨

분류에서Dev

더 작은 크기의 JSON 응답 후 UITableView를 업데이트하는 동안 오류가 발생합니까?

분류에서Dev

웹 응답을 유지 / 캐시하는 가장 쉬운 방법

분류에서Dev

Firebase 응답이 200을 반환하지만 빈 배열

분류에서Dev

비정상 종료 후 ownCloud는 HTTP 오류 500으로 계속 응답합니다.

분류에서Dev

내 CompletableFuture가 필요한 응답을 반환하지 않고 API 호출이 보류중인 이유는 무엇입니까?

분류에서Dev

Facebook에 게시 오류 : '(# 200) 사용자가이 작업을 수행 할 수있는 응용 프로그램을 승인하지 않았습니다.', 유형 : 'OAuthException', 코드 : 200

분류에서Dev

로그 아웃 응답을 보낸 후에도 QuickfixJ가 여전히 로그온을 시작하는 이유

분류에서Dev

컴퓨터가 유휴 상태 인 후 "디스플레이 드라이버가 응답을 중지하고 복구 됨"

분류에서Dev

Django Rest 프레임 워크-테이블에 서버 오류 (500)를 표시하는 응답 데이터가 포함 된 경우

분류에서Dev

다른 응답 유형을 지정하면서 기본 200 OK 응답을 자동으로 생성합니다.

분류에서Dev

Django Rest Framework에서 500 오류가 발생하면 모든 요청과 응답을 기록하는 방법은 무엇입니까?

분류에서Dev

터미널에서 mplfinance를 다운로드 한 후 Matplotlib.finance가 응답하지 않습니다. 오류 : 'matplotlib.finance'라는 모듈이 없습니다.

분류에서Dev

Angular2 HTTP 응답 데이터가 유형을 준수하지 않는 경우 오류를 어떻게 캡처합니까?

분류에서Dev

Gatling 3.3.1 / Scala : 응답 유효성 검사 블록이 내가 받아야하는 응답을 가져 오지 못함

분류에서Dev

ASP 응용 프로그램으로 인해 오류 500이 발생하고 서버가 자주 중지됨

분류에서Dev

SOAP 응답 상태 코드 200 또는 500을 기반으로 Karate 기능 파일 호출

분류에서Dev

HttpClient 응답 스트림을 가져 오는 중 오류 (ReadDone1) : ReceiveFailure

분류에서Dev

이미지가없는 경우 500 오류를 발생시키는이 재 작성 규칙을 중지하는 방법

분류에서Dev

git-remote-http.exe가 200을 받기 전에 두 개의 401 응답을받는 것이 정상입니까?

분류에서Dev

응답 처리가 완료되기 전 오류 페이지

Related 관련 기사

  1. 1

    응답 200이있는 AJAX 오류 (사용자 정의 데이터 유형)

  2. 2

    Ajax 응답 상태 200이지만 오류 메시지 표시

  3. 3

    Rails (Puma)가있는 Websockets-WebSocket 핸드 셰이크 중 오류 : 예기치 않은 응답 코드 : 200

  4. 4

    200 상태의 오류 응답을받는 jQuery Ajax 호출

  5. 5

    클라이언트는 500 응답 오류를 가져옵니다 왜 서버는 스프링 통합-HTTP에 오류가 발생하지 않지만?

  6. 6

    Jtable은 메시지 온로드없이 오류를 반환합니다. 응답은 200을 반환합니다.

  7. 7

    응답을 보낸 후 오류를 반환하는 NodeJS

  8. 8

    cache-control 헤더가있는 경우에도 Chrome이 응답을 캐싱하지 않는 이유는 무엇입니까?

  9. 9

    AWS CORS 문제 : 200 개의 상태 코드를받은 후에도 Ajax 응답이 오류로 표시됨

  10. 10

    더 작은 크기의 JSON 응답 후 UITableView를 업데이트하는 동안 오류가 발생합니까?

  11. 11

    웹 응답을 유지 / 캐시하는 가장 쉬운 방법

  12. 12

    Firebase 응답이 200을 반환하지만 빈 배열

  13. 13

    비정상 종료 후 ownCloud는 HTTP 오류 500으로 계속 응답합니다.

  14. 14

    내 CompletableFuture가 필요한 응답을 반환하지 않고 API 호출이 보류중인 이유는 무엇입니까?

  15. 15

    Facebook에 게시 오류 : '(# 200) 사용자가이 작업을 수행 할 수있는 응용 프로그램을 승인하지 않았습니다.', 유형 : 'OAuthException', 코드 : 200

  16. 16

    로그 아웃 응답을 보낸 후에도 QuickfixJ가 여전히 로그온을 시작하는 이유

  17. 17

    컴퓨터가 유휴 상태 인 후 "디스플레이 드라이버가 응답을 중지하고 복구 됨"

  18. 18

    Django Rest 프레임 워크-테이블에 서버 오류 (500)를 표시하는 응답 데이터가 포함 된 경우

  19. 19

    다른 응답 유형을 지정하면서 기본 200 OK 응답을 자동으로 생성합니다.

  20. 20

    Django Rest Framework에서 500 오류가 발생하면 모든 요청과 응답을 기록하는 방법은 무엇입니까?

  21. 21

    터미널에서 mplfinance를 다운로드 한 후 Matplotlib.finance가 응답하지 않습니다. 오류 : 'matplotlib.finance'라는 모듈이 없습니다.

  22. 22

    Angular2 HTTP 응답 데이터가 유형을 준수하지 않는 경우 오류를 어떻게 캡처합니까?

  23. 23

    Gatling 3.3.1 / Scala : 응답 유효성 검사 블록이 내가 받아야하는 응답을 가져 오지 못함

  24. 24

    ASP 응용 프로그램으로 인해 오류 500이 발생하고 서버가 자주 중지됨

  25. 25

    SOAP 응답 상태 코드 200 또는 500을 기반으로 Karate 기능 파일 호출

  26. 26

    HttpClient 응답 스트림을 가져 오는 중 오류 (ReadDone1) : ReceiveFailure

  27. 27

    이미지가없는 경우 500 오류를 발생시키는이 재 작성 규칙을 중지하는 방법

  28. 28

    git-remote-http.exe가 200을 받기 전에 두 개의 401 응답을받는 것이 정상입니까?

  29. 29

    응답 처리가 완료되기 전 오류 페이지

뜨겁다태그

보관