몇 초마다 새로운 콘텐츠가 게시되는 장고 웹 사이트가 있습니다.서버 블록 내의 특정 위치에 대한 Nginx 프록시 마이크로 캐시 구성
내 웹 사이트의 홈페이지에있는 승인 된 사용자는 /
이고 승인되지 않은 사용자는 /unauth
입니다. /unauth
은 /
과 유사한 콘텐츠를 표시하지만 개인 정보는 표시하지 않습니다. 내 웹 사이트는 gungin을 업스트림으로 nginx (리버스 프록시)를 사용합니다.
nginx microcaching을 location/unauth
에 구현하려하지만 지금까지 성공하지 못했습니다 (/var/cache/nginx
에 표시되지 않음). location/unauth
에 add_header X-Cache-Status $upstream_cache_status;
을 추가해도 응답에 아무 것도 나오지 않습니다. 거의 loption 블록이 완전히 무시되는 것과 같습니다 (!).
문제를 해결하도록 도와 줄 수 있습니까? 전체 nginx.conf를보고 싶다면 알려 주시기 바랍니다.
다음과 HTTP 응답 헤더http://example.com/unauth/
에서 생산되는
#outside the server block
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=6m;
#inside the server block
location /unauth {
add_header X-Cache-Status $upstream_cache_status;
proxy_cache my_cache;
proxy_cache_lock on;
proxy_cache_valid 200 1s;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
proxy_buffering on;
proxy_buffers 24 4k;
proxy_buffer_size 2k;
proxy_busy_buffers_size 8k;
try_files $uri @http_proxy_to_app;
}
가 될 때 :
Status: HTTP/1.1 200 OK
Server: nginx
Date: Sun, 05 Feb 2017 00:10:03 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Expires: Sun, 05 Feb 2017 00:10:13 GMT
Vary: Cookie
Last-Modified: Sun, 05 Feb 2017 00:10:03 GMT
Cache-Control: max-age=10
X-Frame-Options: SAMEORIGIN
Content-Encoding: gzip
위치 블록에'add_header X-Cache-Status $ upstream_cache_status; '를 추가하고 요청을 다시 실행할 수 있습니까? 그러면 요청이 캐시에 있는지 여부에 대한 정보가 제공됩니다. –
www-data : www-data로 변경해보십시오. @http_proxy_to_app에 대한 내부 리디렉션을 수행 중이기 때문일 수도 있습니다. 테스트로 대신 캐시 구성을 해당 블록에 추가 할 수 있습니까? –