ค้นหาเว็บไซต์

10 สุดยอดเซิร์ฟเวอร์พร็อกซีย้อนกลับโอเพ่นซอร์สสำหรับ Linux


พร็อกซีเซิร์ฟเวอร์ย้อนกลับคือประเภทของพร็อกซีเซิร์ฟเวอร์ที่ใช้งานระหว่างไคลเอ็นต์และเซิร์ฟเวอร์แบ็กเอนด์/ต้นทาง เช่น เซิร์ฟเวอร์ HTTP เช่น NGINX, Apache ฯลฯ.. หรือแอปพลิเคชันเซิร์ฟเวอร์ที่เขียนด้วย Nodejs, Python, Java, Ruby, PHP และภาษาการเขียนโปรแกรมอื่นๆ อีกมากมาย

เป็นเกตเวย์หรือเซิร์ฟเวอร์ตัวกลางที่รับคำขอของไคลเอนต์ ส่งต่อไปยังเซิร์ฟเวอร์แบ็คเอนด์ตั้งแต่หนึ่งเซิร์ฟเวอร์ขึ้นไป จากนั้นดึงการตอบสนองจากเซิร์ฟเวอร์และส่งกลับไปยังไคลเอนต์ จึงทำให้ปรากฏราวกับว่าเนื้อหา มาจากพร็อกซีเซิร์ฟเวอร์ย้อนกลับนั่นเอง

โดยทั่วไป Reverse Proxy Server คือพร็อกซีที่เชื่อมต่อภายในซึ่งใช้เป็น 'ส่วนหน้า' เพื่อควบคุมและป้องกันการเข้าถึงเซิร์ฟเวอร์ส่วนหลังบนเครือข่ายส่วนตัว โดยทั่วไปแล้วจะใช้งานหลังไฟร์วอลล์เครือข่าย .

ช่วยให้เซิร์ฟเวอร์แบ็คเอนด์ไม่เปิดเผยตัวตนเพื่อเพิ่มความปลอดภัย ในโครงสร้างพื้นฐานด้านไอที Reverse Proxy ยังทำหน้าที่เป็นไฟร์วอลล์ของแอปพลิเคชัน โหลดบาลานเซอร์ ตัวยุติ TLS ตัวเร่งความเร็วเว็บ (โดยการแคชเนื้อหาแบบคงที่และไดนามิก) และอื่นๆ อีกมากมาย

ในบทความนี้ เราจะตรวจสอบพร็อกซีเซิร์ฟเวอร์ย้อนกลับแบบโอเพ่นซอร์ส 10 อันดับแรกที่คุณสามารถใช้ได้บนระบบ Linux

1. HAProxy – (ตัวโหลดบาลานเซอร์ TCP/HTTP)

HAProxy (HAProxy ซึ่งย่อมาจาก High Availability Proxy) เป็นซอฟต์แวร์โอเพ่นซอร์สฟรี รวดเร็วมาก เชื่อถือได้ และติดอันดับโหลดบาลานเซอร์และพร็อกซีสำหรับ TCP และแอปพลิเคชันที่ใช้ HTTP ซึ่งสร้างขึ้นเพื่อความพร้อมใช้งานสูง

HAProxy เป็นพร็อกซีย้อนกลับ HTTP, พร็อกซี TCP และตัวปรับมาตรฐาน, ตัวยุติ/ตัวเริ่มต้น/ตัวโหลด SSL/TLS, พร็อกซีการแคช, ตัวถ่ายการบีบอัด HTTP, ตัวควบคุมการรับส่งข้อมูล, สวิตช์ตามเนื้อหา, เกตเวย์ FastCGI และอีกมากมาย นอกจากนี้ยังเป็นการป้องกัน DDoS และการละเมิดบริการอีกด้วย

ขับเคลื่อนโดยเอ็นจิ้นที่ขับเคลื่อนด้วยเหตุการณ์และไม่มีการบล็อก ซึ่งรวมเลเยอร์ I/O ที่รวดเร็วมากเข้ากับตัวกำหนดเวลาแบบมัลติเธรดตามลำดับความสำคัญ ซึ่งช่วยให้จัดการกับการเชื่อมต่อพร้อมกันนับหมื่นรายการได้อย่างง่ายดาย

โดยเฉพาะอย่างยิ่ง HAProxy ใช้โปรโตคอล PROXY เพื่อส่งข้อมูลการเชื่อมต่อของไคลเอ็นต์ไปยังเซิร์ฟเวอร์แบ็กเอนด์หรือเซิร์ฟเวอร์ต้นทาง เพื่อให้แอปพลิเคชันได้รับข้อมูลที่เกี่ยวข้องทั้งหมด

คุณสมบัติพื้นฐานบางประการของ HAProxy ได้แก่ การพร็อกซี, การสนับสนุน SSL, การตรวจสอบทั้งสถานะเซิร์ฟเวอร์และสถานะ, ความพร้อมใช้งานสูง, การปรับสมดุลโหลด, ความเหนียว (การรักษาผู้เยี่ยมชมบนเซิร์ฟเวอร์เดียวกันแม้ในเหตุการณ์ต่าง ๆ ), การสลับเนื้อหา, การเขียน HTTP ใหม่ และการเปลี่ยนเส้นทาง, เซิร์ฟเวอร์ การป้องกัน การบันทึก สถิติ และอื่นๆ อีกมากมาย

2. NGINX – (HTTP และ Reverse Proxy เว็บเซิร์ฟเวอร์)

NGINX เป็นเซิร์ฟเวอร์ HTTP และพร็อกซีย้อนกลับที่ฟรี เป็นโอเพ่นซอร์ส ประสิทธิภาพสูง และได้รับความนิยมอย่างมาก นอกจากนี้ยังทำหน้าที่เป็นพร็อกซีเซิร์ฟเวอร์ IMAP/POP3 อีกด้วย NGINX มีชื่อเสียงในด้านประสิทธิภาพสูง ความเสถียร ชุดคุณลักษณะที่หลากหลาย การกำหนดค่าที่เรียบง่ายและยืดหยุ่น และการใช้ทรัพยากรต่ำ (โดยเฉพาะพื้นที่หน่วยความจำขนาดเล็ก)

เช่นเดียวกับ HAProxy NGINX มีสถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ ดังนั้นจึงไม่มีปัญหาในการจัดการกับการเชื่อมต่อพร้อมกันนับหมื่นรายการ เนื่องจากใช้ PROXY ของ HAProxy โปรโตคอล

NGINX รองรับการเร่งพร็อกซีย้อนกลับด้วยการแคชโดยใช้โมดูล ngx_http_proxy_module ซึ่งอนุญาตให้ส่งคำขอไปยังเซิร์ฟเวอร์อื่นผ่านโปรโตคอลอื่นที่ไม่ใช่ HTTP เช่น FastCGI, uwsgi, SCGI และ Memcached

ที่สำคัญ รองรับการปรับสมดุลโหลดและความทนทานต่อข้อผิดพลาด ซึ่งเป็นส่วนสำคัญของระบบคอมพิวเตอร์แบบกระจายขนาดใหญ่ โมดูล ngx_http_upstream_module ช่วยให้สามารถกำหนดกลุ่มของเซิร์ฟเวอร์แบ็กเอนด์เพื่อกระจายคำขอที่มาจากไคลเอ็นต์

สิ่งนี้ทำให้แอปพลิเคชันของคุณแข็งแกร่ง พร้อมใช้งานและเชื่อถือได้มากขึ้น สามารถปรับขนาดได้สูงพร้อมเวลาตอบสนองและปริมาณการประมวลผล นอกจากนี้ ในส่วนของความปลอดภัย ยังรองรับการยกเลิก SSL/TLS และฟีเจอร์ความปลอดภัยอื่นๆ อีกมากมาย

บทความที่เป็นประโยชน์เกี่ยวกับเว็บเซิร์ฟเวอร์ Nginx ที่คุณอาจต้องการอ่าน:

3. วานิช – (Reverse Caching Proxy)

Varnish HTTP Cache (หรือ Varnish Cache หรือเรียกง่ายๆ ว่า Varnish) เป็นซอฟต์แวร์พร็อกซีย้อนกลับสำหรับแคชแบบโอเพ่นซอร์ส ประสิทธิภาพสูง และได้รับความนิยมอย่างมาก ซึ่งรู้จักกันในชื่อเว็บ ตัวเร่งความเร็วแอปพลิเคชันที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพ HTTP โดยใช้แคชฝั่งเซิร์ฟเวอร์

มีการปรับใช้ระหว่างไคลเอนต์กับเว็บเซิร์ฟเวอร์ HTTP หรือเซิร์ฟเวอร์แอปพลิเคชัน ทุกครั้งที่ลูกค้าร้องขอข้อมูลหรือทรัพยากรจากเว็บเซิร์ฟเวอร์ วานิชจะจัดเก็บสำเนาของข้อมูล ดังนั้นในครั้งต่อไปที่ลูกค้าร้องขอข้อมูลเดียวกัน วานิชจะให้บริการโดยไม่ส่งคำขอไปยังเว็บเซิร์ฟเวอร์ ซึ่งจะช่วยลดภาระบน เซิร์ฟเวอร์และส่งผลให้การจัดส่งเนื้อหาเว็บเร็วขึ้น

วานิช ใช้ภาษาการกำหนดค่าที่ยืดหยุ่นที่เรียกว่า ภาษาการกำหนดค่าวานิช (VLC) ซึ่งช่วยให้ผู้ดูแลระบบสามารถกำหนดค่าวิธีการร้องขอที่เข้ามา ประมวลผลแล้ว ควรแสดงเนื้อหาใด และควรแก้ไขคำขอหรือคำตอบจากที่ไหน และอย่างไร และอื่นๆ อีกมากมาย

สารเคลือบเงายังสามารถขยายได้ โดยสามารถขยายได้โดยใช้ โมดูลสารเคลือบเงา (VMODs) และผู้ใช้สามารถเขียนโมดูลที่กำหนดเองหรือใช้โมดูลที่ชุมชนจัดเตรียมให้

ข้อจำกัดหลักของ วานิช คือการขาดการสนับสนุน SSL/TLS วิธีเดียวที่จะเปิดใช้งาน HTTPS คือการปรับใช้ตัวยุติหรือตัวโหลด SSL/TLS เช่น HAProxy หรือ NGINX ใน ด้านหน้าของมัน

4. Træfɪk – (พร็อกซีแอปพลิเคชัน Cloud Native)

Træfɪk (ออกเสียงว่า Traffic) เป็นพร็อกซีย้อนกลับ HTTP แบบโอเพ่นซอร์ส ทันสมัย และรวดเร็วฟรีและตัวจัดสรรภาระงานสำหรับการปรับใช้ไมโครเซอร์วิสที่รองรับอัลกอริธึมการปรับสมดุลโหลดหลายตัว

สามารถเชื่อมต่อกับผู้ให้บริการต่างๆ (หรือกลไกการค้นหาบริการหรือเครื่องมือจัดระเบียบ) เช่น Kubernetes, Docker, Etcd, Rest API, Mesos/Marathon, Swarm และ Zookeper

คุณสมบัติที่น่ารักคือความสามารถในการจัดการการกำหนดค่าโดยอัตโนมัติและไดนามิก ดังนั้นจึงค้นพบการกำหนดค่าที่เหมาะสมสำหรับบริการของคุณ ทำได้โดยการสแกนโครงสร้างพื้นฐานของคุณเพื่อค้นหาข้อมูลที่เกี่ยวข้องและค้นหาว่าบริการใดที่ให้บริการตามคำขอจากโลกภายนอก ผู้ให้บริการจะบอก Træfɪk ว่าแอปพลิเคชันหรือไมโครเซอร์วิสของคุณอยู่ที่ใด

คุณสมบัติอื่นๆ ของ Træfɪk รองรับ WebSockets, HTTP/2 และ GRPC, การรีโหลดแบบ hot reload (อัปเดตการกำหนดค่าอย่างต่อเนื่องโดยไม่ต้องรีสตาร์ท), HTTPS โดยใช้ ขอเข้ารหัสใบรับรอง (รองรับใบรับรองไวด์การ์ด) และเปิดเผย REST API นอกจากนี้ยังเก็บบันทึกการเข้าถึงและให้ตัวชี้วัด (Rest, Prometheus, Datadog, Statsd, InfluxDB)

นอกจากนี้ Træfɪk ยังมาพร้อมกับอินเทอร์เฟซผู้ใช้บนเว็บที่ใช้ HTML แบบง่ายๆ ซึ่งใช้ในการจับตาดูเหตุการณ์ต่างๆ นอกจากนี้ยังรองรับเซอร์กิตเบรกเกอร์ คำขอลองใหม่ การจำกัดอัตรา และการตรวจสอบสิทธิ์ขั้นพื้นฐาน

5. Apache Traffic Server – (พร็อกซีเซิร์ฟเวอร์ย้อนกลับและส่งต่อ)

เดิมเป็นผลิตภัณฑ์เชิงพาณิชย์ของ Yahoo ซึ่งต่อมาถูกส่งมอบให้กับ Apache Foundation Apache Traffic Server เป็นโอเพ่นซอร์สฟรี และรวดเร็วในการแคชไปข้างหน้าและพร็อกซีย้อนกลับ เซิร์ฟเวอร์

เซิร์ฟเวอร์การรับส่งข้อมูล ยังทำงานเป็นตัวจัดสรรภาระงานและสามารถมีส่วนร่วมในลำดับชั้นแคชที่ยืดหยุ่นได้ เป็นที่ทราบกันดีว่า Yahoo รองรับการรับส่งข้อมูลมากกว่า 400 TB ต่อวัน

มันมีชุดของ Keep-alive การกรอง หรือการไม่ระบุชื่อคำขอเนื้อหา และสามารถขยายได้ผ่าน API ที่อนุญาตให้ผู้ใช้สร้างปลั๊กอินแบบกำหนดเองเพื่อแก้ไขส่วนหัว HTTP จัดการคำขอ ESI หรือออกแบบอัลกอริธึมแคชใหม่

6. Squid – (การแคชและการส่งต่อ HTTP Proxy)

Squid เป็นพร็อกซีเซิร์ฟเวอร์และเว็บแคชดีมอนที่เป็นโอเพ่นซอร์สฟรีและเป็นที่รู้จักซึ่งสนับสนุนโปรโตคอลต่างๆ เช่น HTTP, HTTPS, FTP และอื่นๆ มีโหมดพร็อกซีย้อนกลับ (httpd-accelerator) ที่แคชคำขอขาเข้าสำหรับข้อมูลขาออก

รองรับตัวเลือกการเพิ่มประสิทธิภาพการรับส่งข้อมูลที่หลากหลาย การควบคุมการเข้าถึง การอนุญาต สิ่งอำนวยความสะดวกในการบันทึก และอื่นๆ อีกมากมาย

7. ปอนด์ – (Reverse Proxy และ Load Balancer)

A Pound เป็นอีกหนึ่งพร็อกซีย้อนกลับและโหลดบาลานซ์และส่วนหน้าสำหรับเว็บเซิร์ฟเวอร์ที่ฟรีและเป็นโอเพ่นซอร์ส นอกจากนี้ยังเป็นตัวยุติ SSL (ที่ถอดรหัสคำขอ HTTPS จากไคลเอนต์และส่งเป็น HTTP ธรรมดาไปยังเซิร์ฟเวอร์ส่วนหลัง)

เครื่องมือฆ่าเชื้อ HTTP/HTTPS (ที่ตรวจสอบคำขอความถูกต้องและยอมรับเฉพาะคำขอที่มีรูปแบบถูกต้อง) และเซิร์ฟเวอร์แทนที่เมื่อเกิดข้อผิดพลาด

8. อาปาเช่ – (เว็บเซิร์ฟเวอร์ HTTP)

เซิร์ฟเวอร์ Apache HTTP (หรือที่เรียกว่า HTTPD) ซึ่งเป็นเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมมากที่สุดในโลกสามารถติดตั้งและกำหนดค่าให้ทำหน้าที่เป็นพร็อกซีย้อนกลับได้

Apache เก่งในการกำหนดเส้นทางคำขอไคลเอ็นต์ไปยังเซิร์ฟเวอร์แบ็กเอนด์ ปรับปรุงความปลอดภัย โหลดบาลานซ์ และเพิ่มประสิทธิภาพแอปพลิเคชันเว็บ ด้วยการทำหน้าที่เป็นสื่อกลาง Apache จึงสามารถกระจายการรับส่งข้อมูลขาเข้าไปยังอินสแตนซ์เซิร์ฟเวอร์หลายเครื่องได้อย่างมีประสิทธิภาพ ทำให้มั่นใจได้ว่ามีความพร้อมใช้งานสูงและประสบการณ์ผู้ใช้ที่ราบรื่น

ตัวเลือกการกำหนดค่าที่แข็งแกร่งและปรับแต่งได้ทำให้เป็นตัวเลือกอันดับต้นๆ สำหรับองค์กรที่กำลังมองหาโซลูชันที่เชื่อถือได้สำหรับความต้องการพร็อกซีย้อนกลับ ไม่ว่าจะสำหรับการแคชเนื้อหาหรือการจัดส่งแอปพลิเคชัน

9. Skipper – (เราเตอร์ HTTP และ Reverse Proxy)

Skipper เป็นเราเตอร์ HTTP แบบโอเพ่นซอร์สฟรีและพร็อกซีย้อนกลับสำหรับองค์ประกอบบริการ รวมถึงกรณีการใช้งานเช่น Kubernetes Ingress

สร้างขึ้นเพื่อจัดการคำจำกัดความเส้นทาง HTTP ที่กำหนดค่าแบบไดนามิกจำนวนมาก มากกว่าเส้นทาง 800,000 โดยมีเงื่อนไขการค้นหาที่ซับซ้อน และมอบความยืดหยุ่นในการปรับปรุงโฟลว์คำขอด้วยตัวกรอง

สามารถปรับใช้ได้ทันทีตามที่เป็นอยู่ หรือสามารถขยายได้โดยการรวมการค้นหาที่กำหนดเอง ตรรกะตัวกรอง และแหล่งที่มาของการกำหนดค่า

10 แคดดี้ 2 – เซิร์ฟเวอร์ที่รวดเร็วพร้อม HTTPS อัตโนมัติ

Caddy 2 เป็นเว็บเซิร์ฟเวอร์โอเพ่นซอร์สและพร็อกซีย้อนกลับที่มีชื่อเสียงในด้านความเรียบง่ายและความสามารถรอบด้าน โดยมีอินเทอร์เฟซที่เป็นมิตรต่อผู้ใช้และ HTTPS อัตโนมัติตามค่าเริ่มต้น ทำให้เป็นตัวเลือกที่สามารถเข้าถึงได้สำหรับทั้งผู้ใช้ใหม่และผู้ใช้ที่มีประสบการณ์

Caddy 2 ได้รับการออกแบบมาเพื่อจัดการเว็บโฮสติ้ง, HTTP/2, โหลดบาลานซ์ และพร็อกซีได้อย่างง่ายดาย เพิ่มประสิทธิภาพและความปลอดภัยของเว็บไซต์ ลักษณะโอเพ่นซอร์สสนับสนุนการมีส่วนร่วมของชุมชน และได้รับความนิยมในด้านความสะดวกในการใช้งานและคุณสมบัติที่ทันสมัยในโลกของเว็บโฮสติ้งและการจัดการเซิร์ฟเวอร์

บทสรุป

นั่นคือทั้งหมดที่เรามีให้คุณในคู่มือนี้ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับเครื่องมือแต่ละรายการในรายการนี้ โปรดดูเว็บไซต์ที่เกี่ยวข้อง อย่าลืมแบ่งปันความคิดของคุณกับเราผ่านแบบฟอร์มคำติชมด้านล่าง