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

ใช้ nginx เป็น Reverse Proxy Server

ภาพรวม:

Nginx และ Apache เป็นสองส่วนที่ยอดเยี่ยมที่สุด ยอดนิยมเว็บเซิร์ฟเวอร์โอเพ่นซอร์สมักจะใช้กับ PHP พร็อกซีย้อนกลับหรือเกตเวย์ทำหน้าที่เป็นการเชื่อมต่อระหว่างไคลเอนต์และเซิร์ฟเวอร์ ลูกค้าและเซิร์ฟเวอร์แลกเปลี่ยนข้อมูลซึ่งกันและกันเพื่อทำงานอย่างต่อเนื่องและมีประสิทธิภาพ พร็อกซีย้อนกลับที่พบบ่อยที่สุดคือnginx และ apache และทั้งสองสามารถกำหนดค่าบนเครื่องเสมือนเดียวกันเมื่อโฮสต์หลายเว็บไซต์ พร็อกซีย้อนกลับปกป้องเว็บเซิร์ฟเวอร์จากการโจมตีและเกตเวย์การเชื่อมต่อจะปรากฏขึ้นที่ไคลเอนต์เหมือนกับเว็บเซิร์ฟเวอร์ทั่วไปที่ไม่จำเป็นต้องมีการกำหนดค่าพร็อกซี Nginx แบบย้อนกลับพิเศษ ลูกค้าส่งคำขอในขณะที่พร็อกซีย้อนกลับตัดสินใจว่าจะส่งผ่านข้อมูลที่ร้องขอจากนั้นส่งผลลัพธ์ผลลัพธ์สุดท้ายไปยังลูกค้า หลังจากชื่นชมซีรีส์ของเราเกี่ยวกับบทเรียน Redis มากมายเราได้รับคำขอมากมายในการเริ่มต้นซีรี่ส์ในบทช่วยสอน Nginx เมื่อสัปดาห์ที่แล้วเราเริ่มต้นด้วยการสอนเกี่ยวกับวิธีการใช้ Nginx Reverse Proxy Load Balancer สำหรับแอปพลิเคชันของคุณ ตัวอย่างการกำหนดค่าพร็อกซีย้อนกลับ Nginx แบบง่าย ๆ นี้ให้ความน่าเชื่อถือมากมาย Nginx Simple Reverse Proxy เป็นเซิร์ฟเวอร์พร็อกซี Nginx ที่ใช้อย่างแข็งขันที่สุดบนอินเทอร์เน็ต ในบทช่วยสอนนี้เราจะกำหนดและสำรวจวิธีการใช้ Nginx เป็น proxy ย้อนกลับ**และวิธีการตั้งค่าเป็น proxy ย้อนกลับบนเซิร์ฟเวอร์เดียว ดังนั้นมาเริ่มกันเถอะ!

  • พร็อกซีเซิร์ฟเวอร์คืออะไร?
  • ไปข้างหน้ากับพร็อกซีย้อนกลับ
  • กำหนดค่าพร็อกซีย้อนกลับ
  • อะไรคือข้อดีของ Nginx Reverse Proxy?
  • บทสรุป

พร็อกซีเซิร์ฟเวอร์คืออะไร?

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

ไปข้างหน้าเทียบกับพร็อกซีย้อนกลับ:

nginx เป็นพร็อกซีเซิร์ฟเวอร์ย้อนกลับ

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

nginx เป็นพร็อกซีย้อนกลับ

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

กำหนดค่า nginx เป็น proxy reverse:

เมื่อ Nginx Proxies คำขอจะส่งคำขอไปยังเซิร์ฟเวอร์พร็อกซีที่ระบุดึงการตอบกลับและส่งกลับไปยังไคลเอนต์ เป็นไปได้ที่จะร้องขอพร็อกซีไปยังเซิร์ฟเวอร์ HTTP หรือเซิร์ฟเวอร์ที่ไม่ใช่ HTTP โดยใช้โปรโตคอลที่ระบุ โปรโตคอลที่รองรับ ได้แก่ FastCGI, UWSGI, SCGI และ MEMCACHED ในการส่งคำขอไปยังเซิร์ฟเวอร์พร็อกซี HTTP นั้นมีการระบุคำสั่ง proxy_pass ภายในตำแหน่ง****ตัวอย่างเช่น:

location /path/to/location/ {
    proxy_pass http://www.backendserver.com/link/;
}

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

location ~ \.php {
    proxy_pass http://127.0.0.1:8000;
}

คุณสามารถผ่านส่วนหัวที่แก้ไขหรือกำหนดเองไปยังพร็อกซีเซิร์ฟเวอร์ใน Nginx พร็อกซี \ _set \ _header โฮสต์ด้านล่างในตัวอย่าง

location /path/to/location/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:8000;
}

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

ข้อดีของ Nginx Reverse Proxy คืออะไร?

ต่อไปนี้เป็นประโยชน์ของการตั้งค่าพร็อกซีเซิร์ฟเวอร์ Nginx Reverse:

  • Nginx เป็นหนึ่งในเซิร์ฟเวอร์เว็บโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุด**ซึ่งเป็นเครื่องมือพร็อกซีที่ได้รับความนิยมมากที่สุด Nginx Reverse Proxy Config นั้นง่ายมากที่จะนำไปใช้เนื่องจากให้ผู้ใช้มีความปลอดภัยระดับสูงต่อการโจมตี DDOS และ DOS Web Server
  • ช่วยในการสร้างโหลดที่สมดุลระหว่างเว็บไซต์จราจรสูงและเซิร์ฟเวอร์แบ็กเอนด์เช่น Dropbox, Netflix และ Zynga
    • มันมีกลไกการแคชสำหรับเซิร์ฟเวอร์แบ็คเอนด์ที่ช้าลงและไซต์ทราฟฟิกสูงเพื่อตั้งค่าโฮสต์เสมือนจริงของพร็อกซีย้อนกลับ Nginx ไม่จำเป็นต้องมีการตั้งค่ากระบวนการใหม่สำหรับแต่ละคำขอเว็บจากฝั่งไคลเอ็นต์
    • นอกจากนี้ยังทำหน้าที่เป็นพร็อกซีเซิร์ฟเวอร์ย้อนกลับสำหรับโปรโตคอลหลายตัวเช่น HTTP, HTTPS, TCP, UDP, SMTP, IMAP และ POP3 เป็นต้น
  • nginx สามารถ จัดการการเชื่อมต่อมากกว่า 10,000 ครั้ง ด้วยรอยเท้าหน่วยความจำต่ำและสามารถใช้งานเว็บเซิร์ฟเวอร์หลายตัวบนที่อยู่ IP เดียว
    • นอกจากนี้ยังช่วยในการแคชหน้าเนื้อหาและทำการเข้ารหัส SSL เพื่อลดการโหลดจากเว็บโฮสต์เซิร์ฟเวอร์ Nginx เป็นหนึ่งในเว็บเซิร์ฟเวอร์ที่ดีที่สุดสำหรับการปรับปรุงประสิทธิภาพของเนื้อหาคงที่โดยการบีบอัดและเพิ่มเวลาในการโหลด
    • เป็นเครื่องมือที่ยอดเยี่ยมสำหรับสภาพแวดล้อมเซิร์ฟเวอร์ที่หลากหลายและยังมีประโยชน์สำหรับงานที่แตกต่างกันเช่นการรักษาเซิร์ฟเวอร์เดียวไม่ระบุชื่อ

บทสรุป:

ในการสอนพร็อกซีย้อนกลับของ nginxเราสำรวจว่าเซิร์ฟเวอร์พร็อกซี Nginx คืออะไรและตั้งค่าพร็อกซีย้อนกลับ Nginx ความแตกต่างระหว่างการส่งต่อ vs Reverse Proxy Server Nginx นอกจากนี้เรายังได้เรียนรู้ด้วยวิธีการตั้งค่า Nginx เป็นพร็อกซีย้อนกลับ ตอนนี้คุณเข้าใจวิธีการติดตั้งNginx Reverse Proxy Configuration ทีละขั้นตอน บทช่วยสอนข้างต้นช่วยให้คุณเริ่มต้นด้วยการตั้งค่าพร็อกซีย้อนกลับ ในบทช่วยสอนที่กำลังจะมาถึงเราจะพูดถึงหัวข้อที่น่าสนใจมากขึ้นเกี่ยวกับ Nginx reverse proxy เซิร์ฟเวอร์ที่คุณชื่นชอบที่สุดคืออะไรที่ง่ายไดนามิกและเต็มรูปแบบ? คุณมีคำถามใด ๆ เกี่ยวกับแหล่งที่มา _ _open _reverse prox__y, load balancer สำหรับ http และ tcp แอปพลิเคชันที่ใช้ _?, โปรด _ ติดต่อกลับ

สำรวจ

คุณอาจพบบทความด้านล่างที่เกี่ยวข้องมากขึ้น