Nginx は上流サーバーに応じてヘッダーを変更します

Nginx は上流サーバーに応じてヘッダーを変更します

私の環境には nginx プロキシと 2 つのアップストリーム (メイン アップストリーム サーバーとバックアップ アップストリーム サーバー) サーバーがあり、目標は選択されたアップストリームに応じて「proxy_set_header Host X/Y」を変更することです。

現時点では、別の nginx インスタンスを作成し、プロキシからのすべてのリクエストをこのインスタンスに送信し、ヘッダーを書き換えてリクエストをさらに送信するというアイデアしかありません。

もっと便利な解決策を知っている人はいますか?

簡略化した設定は次のとおりです。

http {
access_log  /var/log/nginx/access.log  main;

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   65;
types_hash_max_size 2048;

include             /etc/nginx/mime.types;
default_type        application/octet-stream;

include /etc/nginx/conf.d/*.conf;

upstream images {
   server backend.test.com:8080 ;
   server backend-backup.test.com:8090 backup;
 }

server {
    listen       80 default_server;
    server_name  images-test.test.com;
    root         /usr/share/nginx/html;

    include /etc/nginx/default.d/*.conf;
 
    add_header                          Last-Modified "";
    add_header                          Pragma "public";
    add_header                          Access-Control-Allow-Origin $http_origin;

    error_page 404 /404.html;
    location = /404.html {}

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {}


    location / {
  # some not related to the question lines deleted
          proxy_set_header Host "backend.test.com";
          proxy_pass http://images;
        }
}

}

関連情報