1 votes

Pourquoi NGINX réécrit-il mon url alors que je n'ai pas de slash de fin de ligne ? (l'url ne devrait pas être réécrite)

J'essaie d'obtenir une route telle que example.com/misc/page d'aller au même endroit que example.com/misc/page/ . L'itinéraire /misc va vers un seau s3 qui contient un tas d'autres pages statiques que j'essaie de servir. La configuration ci-dessous fonctionne parfaitement lorsque j'ai ce slash de fin de ligne, mais sans ce dernier, l'URL est réécrit en example.com/page/

location ~* ^/misc/?(.*)$ {
    ssi on;
    proxy_pass http://<%= ENV["PROXY_S3_BUCKET"] %>/$1$is_args$args;
    proxy_set_header Host <%= ENV["PROXY_S3_BUCKET"] %>;
    proxy_cache my_proxy;
    proxy_cache_key $host$request_uri$request_method;
}

Quelqu'un peut-il me dire pourquoi cette réécriture se produit et ce que je peux faire pour l'empêcher ? Merci d'avance !

0voto

Eddo Hintoso Points 151

J'ai découvert qu'Amazon s3 émettait en fait une redirection vers mon serveur NGINX en raison de la structure du dossier du seau s3. Afin de s'assurer que la redirection provenant d'Amazon ne réécrit pas mon URL, j'ai dû faire en sorte que la structure du dossier de mon seau s3 corresponde à la structure de mon URL.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X