대체 기능이 있는 nginx 역방향 프록시

대체 기능이 있는 nginx 역방향 프록시

서버에 대한 역방향 프록시를 설정하기 위해 nginx를 설정할 수 있습니까? 그러나 파일이 서버 A에 없으면 파일이 확실히 있을 서버 B로 대체됩니다.

2TB S3 마이그레이션을 수행해야 하며 nginx를 이런 방식으로 설정할 수 있다면 프로세스가 단순화될 것입니다.

현재 역방향 프록시 구성으로 사용하고 있는 내용은 다음과 같습니다.

http {
    proxy_cache_path  /data/nginx/cache  levels=1:2    keys_zone=STATIC:100m
    inactive=30d  max_size=10g;
    server {
        location /image/ {
            proxy_pass             https://origin.example.com/;
            proxy_set_header    Host    origin.example.com;
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_cache            STATIC;
            proxy_cache_valid      200  30d;
            proxy_cache_use_stale  error timeout invalid_header updating
            http_500 http_502 http_503 http_504;
        }

답변1

Nginx Plus에는 Active Health Check 기능이 있습니다. 2개의 서버를 업스트림 그룹에 추가하고 파일의 URI와 관련하여 활성 상태 확인을 적용할 수 있으며, 404 오류가 반환되면 Nginx는 해당 서버를 비정상으로 표시하고 모든 요청은 다른 서버로 흐릅니다. 그룹에서.

https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/#hc_active

그러나 이렇게 하면 모든 트래픽이 다른 서버로 반송됩니다.

업스트림을 제어할 수 있는 경우 다음을 사용할 수도 있습니다 X-Accel.

https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/

업스트림에 파일이 없으면 업스트림은 X-Accel-Redirect역방향 프록시가 읽을 헤더를 반환하고 다른 서버에서 파일을 요청합니다.

관련 정보