2010-10-11 16 views
1

Je souhaite acheminer toutes les demandes vers mon serveur nginx pour les images jpg/png vers un autre serveur Internet externe qui contient réellement les images. A quoi ressemblerait la réécriture?NGINX achemine toutes les demandes d'images vers le serveur externe

Ceci est principalement pour le développement, donc je ne suis pas inquiet de la surcharge de faire cela. Là encore, peut-être qu'il n'y en a pas. Les deux serveurs sont à moi donc ce n'est pas une demande de hot-linking.

Jusqu'à présent, j'ai:

# Forward requests for images to other site 
    location /uploads/ { 
      rewrite ^(.*)$ http://www.example.com$1 last; 
    } 

qui ne fonctionne pas

Répondre

1

En fait, il était plus simple que cela.

rewrite ^/uploads/(.*)$ http://www.example.com/uploads/$1 last; 

Ou si vous pourriez avoir le fichier sur la production ou sur votre machine de développement:

if (!-e $request_filename) { 
    rewrite ^/uploads/(.*)$ http://www.example.com/uploads/$1 last; 
} 
+1

Il fera redirection HTTP. Ce qui peut être ce que vous voulez ou ne pouvez pas être. L'alternative consiste à envoyer des demandes de proxy à un autre serveur, de sorte qu'il semble que les images soient stockées sur le serveur Nginx du point de vue du navigateur. –

+0

Si vous pouvez poster un code qui fait cela, je voterai plusieurs de vos réponses. ;) – Xeoncross

+0

merci Xeoncroos, cela va à l'intérieur de l'emplacement? ou au-dessus? nginx noob ici – igrossiter