J'ai un proxy HTTP basé sur nginx et je voudrais traiter toutes les redirections HTTP à l'intérieur afin que les clients n'obtiennent que la dernière réponse de la chaîne de redirection.
Le code de base ressemble à:
location /proxy {
rewrite ^/proxy/([^/]+) $1 break;
proxy_pass http://$uri/;
}
Ma tentative de suivre les redirections de niveau 1 est la suivante:
error_page 301 302 307 =200 @redir;
... et ayant cet emplacement nommé:
location @redir {
proxy_pass $proxy_location;
}
Seulement, il n'y a pas de variable $ proxy_location et je n'ai pas trouvé de moyen de la créer. Il doit contenir la valeur de l'en- Location:
tête reçue de l'amont.
Des pensées?
2020/01/23 09:17:46 [error] 1394#0: *1 invalid URL prefix in "", client: xx.xx.28.3, server: www.example.com, request: "GET /test HTTP/1.1", host: "www.example.com"
utilisant le bloc @handle_redirect, une idée?