백엔드 서버가 다운되면 nginx 프록시 사용 캐시가 필요합니다.
이것이 내 구성입니다. 체크 백엔드 서버없이 nginx 사용 캐시 인 것 같습니다.
http {
# ...
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=tmpzone:10m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
server {
server_name _;
location / {
proxy_connect_timeout 5s;
proxy_read_timeout 5s;
proxy_cache tmpzone;
proxy_cache_valid 200 304 1d;
proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host 'www.example.com';
proxy_pass http://www.example.com;
}
}
}
백엔드 서버가 작동하는 경우 어떻게 프록시 캐시를 우회 할 수 있습니까? 백엔드 서버가 작동하면 프록시 서버가 캐시를 전혀 사용하지 않습니다.
질문은 정확히 무엇입니까?
—
Jenny D
백엔드 서버가 작동하는 경우 어떻게 프록시 캐시를 우회 할 수 있습니까?
—
sweb
기본 솔루션 중 하나는 2 개의 "서버"(캐시 포함, 하나는 캐시 없음)를 실행하고 업스트림 모듈 nginx.org/en/docs/http/ngx_http_upstream_module.html을 사용하는 것입니다 . 백엔드가 있는지 여부와 상관없이 가장 좋은 솔루션은 proxy_cache_bypass를 검사와 함께 사용할 수있을 것입니다 ...
—
SvennD