nginx cache 캐 시 문제 의 원인 및 해결 방안

1329 단어
nginx. conf 부분 내용:

  proxy_temp_path  /nginx/cache/temp;
  proxy_cache_path /nginx/cache/path levels=1:2 keys_zone=cache_test:2048m inactive=7d max_size=10g;
......
 location ~ .(gif|jpg|jgep|png)$ {
    proxy_pass http://upstreams;
   
    proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
    proxy_cache cache_test;
    #     key
    proxy_cache_key $host$uri$is_args$args;
    #      200 304         ,       1 
    proxy_cache_valid 200 304 1d;
    expires 30d;
  }

nginx 캐 시 되 지 않 는 이유
기본적으로 nginx 캐 시 여 부 는 nginx 캐 시 서버 와 원본 서버 가 공동으로 결정 합 니 다. 캐 시 서버 는 원본 서버 가 응답 하 는 header 를 엄 격 히 준수 하여 캐 시 여부 와 캐 시 여 부 를 결정 해 야 합 니 다.
header 는 주로 다음 과 같다.Cache-control:no-cache、no-store
이 두 값 이 나타 나 면 nginx 캐 시 서버 는 절대 캐 시 되 지 않 습 니 다.Expires:1980-01-01
현재 시간 보다 날짜 가 빨 라 지면 캐 시 되 지 않 습 니 다.
캐 시 되 지 않 는 프로젝트 해결
2.1 방법 1:
프로그램 이나 원본 서버 웹 프로그램 이 응답 하 는 header 를 수정 합 니 다.
2.2 방법 2:
nginx 에이 전 트 는 다음 과 같은 문장 을 직접 추가 합 니 다.

proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;

총결산
이상 은 이 글 의 전체 내용 입 니 다. 본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다. 궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.

좋은 웹페이지 즐겨찾기