Page 18 - ระบบตัวแทนการให้บริการเว็บไซต์หน่วยงานสำนักงานพัฒนาที่ดินเขต (Reverse Proxy)
P. 18
ห้องสมุดกรมพัฒนาที่ดิน
2-6
ข้อเสียของ Nginx
- การ config ที่ค่อนข้างจะยุ่งยากกว่า Apache เนื่องจากการออกแบบที่ค่อนข้าง
ต้องการประสิทธิภาพที่สูงทําให้ต้องตัดการประมวลผลที่เป็นด้วยตัวเองออกไป แล้วไปให้โปรเซสอื่นหรือระบบ
อื่นจัดการประมวลผลแบบ Dynamic ให้แทน เช่น FastCGI, SCGI, uWSGI, memcache
- การบํารุงรักษายากกว่า Apache เนื่องจาก Nginx ได้มีการออกแบบให้เป็นโมดูล
เช่นกันแต่ไม่ได้ยืดหยุ่นมาก ถ้าจะต้องการเพิ่มหรือแก้ไขโมดูลต่าง ๆ จะไม่ค่อยสะดวก
- การเอาไปทํางานได้หลายแพลตฟอร์ม ยังพอร์ตไปไม่ครบนัก ติดตั้งไม่ง่ายนัก การ
ทํางานร่วมกับองค์ประกอบอื่นยังต้องตั้งค่าอีกเยอะ ต่างกับ Apache ที่พอร์ตไปทุกที่ได้ง่ายกว่า (เว็บเซิร์ฟเวอร์
และเอนจิ้นเอ็ก, ออนไลน์)
2.4 ด้านการจัดการพร็อกซี่ (Proxy)
พร็อกซี่เป็นเครื่องมือในการควบคุมทราฟฟิค (traffic) ชนิดหนึ่ง ซึ่งทํางานที่ระดับของแอพพลิเคชั่น
ในลักษณะที่เป็นตัวกลางในการสื่อสารระหว่างไคลเอนต์กับเซิร์ฟเวอร์ โดยทําหน้าที่ป้องกันไม่ให้มีการสื่อสาร
โดยตรงระหว่างไคลเอนต์กับเซิร์ฟเวอร์ แต่ยังคงให้ไคลเอนต์สามารถใช้งานแอพพลิเคชั่นบนเซิร์ฟเวอร์ได้
ตามปกติ และผู้ใช้ซึ่งใช้งานแอพพลิเคชั่นนั้น ๆ จะไม่ได้รับผลกระทบแต่อย่างใด
2.4.1 ลักษณะการทํางาน
โดยปกติทั่วไปแล้วการสื่อสารระหว่างไคลเอนต์กับเซิร์ฟเวอร์นั้น จะต้องมีการเชื่อมต่อหรือ
คอนเน็คชั่น (Connection) เกิดขึ้นระหว่างไคลเอนต์กับเซิร์ฟเวอร์อยู่ตลอดเวลาที่สื่อสารกันอยู่ จุดสําคัญอยู่
ตรงที่การที่เชื่อมต่อโดยตรงนั้นจะมีความเสี่ยงหลายประการตามที่ได้กล่าวมาแล้วในข้างต้น จึงมีการนํา Proxy
เข้ามาก่อน
หน้าที่ในการทํางานของพร็อกซี่ คือ เป็นตัวกลางรับข้อมูลจากไคลเอนต์มาแล้วทําการส่ง
ต่อไปยังเซิร์ฟเวอร์ และรับข้อมูลที่ตอบกลับจากเซิร์ฟเวอร์กลับมายังไคลเอนต์ที่ทําการร้องขอ และจะทําหน้าที่
นี้อยู่ตลอดเวลาที่ไคลเอนต์และเซิร์ฟเวอร์นั้นติดต่อกัน ซึ่งการที่มีพร็อกซี่มาเป็นตัวกลางระหว่างไคลเอนต์กับ
เซิร์ฟเวอร์นั้น ทําให้โฮสต์ทั้งคู่ไม่จําเป็นต้องติดต่อกันโดยตรง เพียงแค่ติดต่อกับตัวกลางคือพร็อกซี่เท่านั้น และ
การทํางานของแอพพลิเคชั่นทั้งสองฝั่งยังคงทําได้เช่นเดิม
2.4.2 ขั้นตอนการนํา Proxy เข้ามาใช้งาน
2.4.2.1 การเริ่มต้นทํางานของแอพพลิเคชั่นโดยทั่วไป เริ่มจากการที่แอพพลิเคชั่นบน
ไคลเอนต์ขอรับข้อมูลจากเซิร์ฟเวอร์ตามโปรโตคอลในแอพพลิเคชั่นเลเยอร์ที่กําหนดไว้ เช่น เว็บบราวเซอร์กับ
เว็บเซิร์ฟเวอร์ จะใช้โปรโตคอล HTTP ในการสื่อสารระหว่างกัน
2.4.2.2 เมื่อเว็บเซิร์ฟเวอร์ได้รับการขอข้อมูลจากบราวเซอร์แล้ว ก็จะตอบรับกลับไปและ
เริ่มการติดต่อสื่อสารกัน และทั้งฝั่งไคลเอนต์และเซิร์ฟเวอร์ก็จะทําการติดต่อสื่อสารกันตามที่โปรโตคอล HTTP
กําหนดจนจบการสื่อสารเซสชั่น (Session) นั้น อย่างไรก็ตามโปรโตคอล HTTP นั้นจะต้องอาศัย TCP ในการ
รับส่งข้อมูลระหว่างไคลเอนต์กับเซิร์ฟเวอร์ นั่นหมายถึงไคลเอนต์จะต้องสามารถติดต่อกับเซิร์ฟเวอร์ได้ด้วย
TCP เสียก่อน เนื่องจาก TCP เป็นโปรโตคอลเลเยอร์ที่อยู่ภายใต้ HTTP อีกเลเยอร์หนึ่ง ดังนั้นในสภาวะการ
ทํางานปกติของ HTTP บราวเซอร์จะต้องสามารถติดต่อกับเซิร์ฟเวอร์โดยตรงเสมอ นั่นคือในสภาวะการทํางาน
ปกตินั้นแพ็คเก็ตของ TCP/IP จะต้องสามารถส่งถึงกันระหว่างโฮสต์ทั้งคู่ได้