ฉันมีประสบการณ์น้อยในการออกแบบสถาปัตยกรรมโครงสร้างพื้นฐานของเว็บไซต์ ฉันรู้ว่ามันอาจจะเป็นสถานการณ์ที่เฉพาะเจาะจง เว็บไซต์ควรจะ:
1) ต้องการการสนับสนุน HTTPS สำหรับบางหน้า (เช่นหน้าเข้าสู่ระบบ) ในขณะที่หน้าอื่น ๆ เป็นเพียงหน้า HTTP
2) ต้องการเว็บเซิร์ฟเวอร์หลายเครื่องเพื่อให้โหลดบาลานซ์บางตัวจำเป็นต้องมี
3) ต้องการแคชและการบีบอัด HTTP เพื่อเพิ่มประสิทธิภาพ
4) คำขอบางอย่าง (เช่นการอัปโหลดรูปภาพ) ควรกำหนดเส้นทางไปยังเซิร์ฟเวอร์เบื้องหลังเฉพาะ ดังนั้นจำเป็นต้องมีการปรับสมดุลตาม URL
ฉันรู้ว่า NginX และ HAProxy มีทั้ง Reverse Proxy และ / หรือ Load Balancer ที่ดี เนื่องจาก HAProxy ไม่รองรับ SSL ในขณะที่ Nginx load balancing นั้นไม่ดีเท่า HAProxy ฉันจะรับทั้งสองอย่าง
ดังนั้นฉันควรใส่ Nginx (เป็น reverse proxy) ที่ด้านหน้า HAProxy (เป็น load balancer) หรือตรงกันข้าม?
ขอบคุณ