Questo è ovviamente possibile. Nginx viene fornito con bilanciamento del carico:
upstream mysite {
server www1.mysite.com;
server www2.mysite.com;
}
Definisce 2 server per il bilanciamento del carico. Di default le richieste saranno equamente distribuite su tutti i server definiti. È comunque possibile aggiungere pesi alle voci del server.
Dentro il tuo {} configurazione del server è ora possibile aggiungere il seguente per passare le richieste in ingresso al bilanciamento del carico (ad esempio per caricare bilanciare tutte le richieste di directory di immagini):
location /images/ {
proxy_pass http://mysite;
}
Dai un'occhiata al documentation per una descrizione più dettagliata.
Questa è la soluzione giusta per la domanda, ma non è il modo migliore per fare ciò che mi aspetto che tu voglia realmente. In particolare, stai cercando di scaricare il lavoro dai tuoi server web. Se la tua applicazione invia le richieste CDN al tuo server web prima di essere reindirizzato, in realtà non stai scaricando tutto sul CDN. Idealmente vorrai che la tua stessa applicazione rilevi direttamente i link alle risorse sulla CDN. Se utilizzi Rails, puoi utilizzare la funzione incorporata "asset hosts". Altri quadri hanno caratteristiche simili o puoi DIY :) – genexp