Điều này tất nhiên là có thể. Nginx đi kèm với cân bằng tải:
upstream mysite {
server www1.mysite.com;
server www2.mysite.com;
}
Điều này xác định 2 máy chủ để cân bằng tải. Theo yêu cầu mặc định sẽ được phân phối đều trên tất cả các máy chủ được xác định. Tuy nhiên, bạn có thể thêm trọng số cho các mục nhập máy chủ.
Bên trong máy chủ {} cấu hình của bạn bây giờ bạn có thể thêm những điều sau đây để vượt qua yêu cầu đến để cân bằng tải (ví dụ như để cân bằng tải tất cả các yêu cầu cho các thư mục hình ảnh):
location /images/ {
proxy_pass http://mysite;
}
Có một cái nhìn tại documentation để có mô tả chi tiết hơn.
Đây là giải pháp phù hợp cho câu hỏi, nhưng đó không phải là cách tốt nhất để làm những gì tôi mong đợi bạn thực sự muốn. Cụ thể, bạn đang cố gắng giảm tải công việc từ máy chủ web của mình. Nếu ứng dụng của bạn đang gửi yêu cầu CDN đến máy chủ web của bạn trước, sau đó được chuyển hướng, bạn không thực sự tải mọi thứ xuống CDN. Lý tưởng nhất là bạn muốn bản thân ứng dụng của mình hiển thị trực tiếp các liên kết đến các nội dung trên CDN. Nếu bạn sử dụng Rails, bạn có thể sử dụng tính năng "máy chủ lưu trữ nội dung" được tích hợp sẵn. Các khung công tác khác có các tính năng tương tự hoặc bạn có thể tự làm :) – genexp