HTTP Proxy
หากเอกสารมีข้อผิดพลาดหรือมีข้อเสนอแนะ โปรดฝากข้อความในฟอรัม Mudfish (https://forums.mudfish.net)
เอกสารนี้อธิบายวิธีใช้หรือประยุกต์ใช้การเร่งความเร็ว HTTP (เว็บ) ผ่าน Mudfish (ต่อไปเรียกว่า การเร่งความเร็วเว็บ)
บทนำ
แม้จะใช้ชื่อว่า “การเร่งความเร็วเว็บ” แต่เทคโนโลยีนี้เป็นเรื่องทั่วไปในกลุ่มผู้ให้บริการ CDN (Content Delivery Network) การเร่งความเร็วนี้มักหมายถึงการติดตั้ง Cache Server (โดยทั่วไปคือ reverse proxy) ให้ใกล้คอมพิวเตอร์ของผู้ใช้มากที่สุด เพื่อเก็บเนื้อหาผ่านโปรโตคอล HTTP ไว้ในแคช หากมีเนื้อหาอยู่แล้ว Cache Server จะส่งให้ผู้ใช้เองโดยไม่ต้องร้องขอจาก Backend server
ความแตกต่างจากการแคชของผู้ให้บริการ CDN อื่นคือ ผู้ให้บริการเหล่านั้นมักให้บริการแก่บริษัทและแคชเว็บไซต์หรือข้อมูลสำคัญของบริษัทนั้น ส่วน Mudfish แคชเว็บไซต์ที่ผู้ใช้เข้าชม
รูปแบบบริการจึงใก ล้เคียงกับ transparent proxy มากกว่า
คุณสมบัติและผลที่ได้
บริการใช้ Cache-Terminator ที่พัฒนาขึ้นเอง (Cache Server แบบหลายเธรดและ non-blocking ที่ดัดแปลงจากโค้ด varnish) โดยมีประโยชน์ดังต่อไปนี้
-
ใช้เทคโนโลยี WAN optimization ของ Mudfish เพื่อปรับปรุงการโหลดหน้าเว็บที่ช้าเมื่อเข้าถึงจากต่างประเทศ เช่น เร่งการดูวิดีโอ ดาวน์โหลดไฟล์ และกิจกรรมต่าง ๆ บนเว็บ
-
ใช้เป็น HTTP proxy เพื่อข้ามข้อจำกัดการเข้าถึงตามประเทศได้ ใช้งานได้ผ่านเซิร์ฟเวอร์รีเลย์ Mudfish ทั้งในเกาหลีและต่างประเทศ
-
ใช้เมื่อต้องการซ่อน Public IP ปัจจุบันชั่วคราวได้ (IP จะบันทึกไว้เฉพาะในล็อกของเซิร์ฟเวอร์รีเลย์ Mudfish เพื่อป้องกันการใช้งานในทางที่ผิด)
ข้อเสีย
-
ตามข้อกำหนด HTTP 1.1 Backend server (โดยทั่วไปคือเว็บเซิร์ฟเวอร์จริง) จะกำหนดผ่านเฮดเดอร์ เช่น Cache-Control ว่าคำตอบนั้นเก็บในแคชได้นานเท่าใด แต่บางครั้งเมื่อ Backend server อัปเดตเนื้อหา เซิร์ฟเวอร์รีเลย์ Mudfish ที่ยังปฏิบัติตาม Cache-Control ของคำตอบเดิมอาจไม่ทราบว่ามีการอัปเดต จึงส่งข้อมูลเก่าและทำให้หน้าเว็บแสดงผิดรูปแบบได้
โดยทั่วไปใช้ฟังก์ชัน purging เพื่อแก้ปัญหานี้ แต่ขณะนี้ยังไม่มีส่วนติดต่อให้ผู้ใช้ควบคุมได้เอง
เชื่อมต่อผ่าน IP สาธารณะ
เซิร์ฟเวอร์รีเลย์ Mudfish รองรับการเชื่อมต่อพร็อกซี HTTP(S) ผ่านที่อยู่ IPv4 สาธารณะ วิธีนี้ต้องยืนยันตัวตนด้วย Mudfish ID แ ละรหัสผ่าน
ประเภทบริการ
| บริการ | พอร์ต TCP | คำอธิบาย |
|---|---|---|
| พร็อกซี HTTP | 18080 | ใช้โปรโตคอล HTTP ปกติ อาจส่งทราฟฟิกที่ไม่เข้ารหัสตามลักษณะคำขอ |
| พร็อกซี HTTPS | 18082 | เข้ารหัสการเชื่อมต่อกับเซิร์ฟเวอร์รีเลย์ด้วย SSL อาจช่วยหลีกเลี่ยงการตรวจสอบทราฟฟิกเว็บหรือข้ามไฟร์วอลล์เครือข่ายได้ |
| พร็อกซี HTTP (SSL Bump) | 18083 | เซิร์ฟเวอร์รีเลย์ถอดรหัสทราฟฟิก HTTPS แล้วเข้ารหัสใหม่ด้วยใบรับรอง Mudfish root CA ก่อนส่งต่อ |
หากต้องการใช้ SSL Bump ต้องติดตั้ง ใบรับรอง Mudfish root CA ในเบราว์เซอร์ก่อน
ตรวจสอบและตั้งค่าที่อยู่เซิร์ฟเวอร์รีเลย์
- ตรวจสอบที่อยู่ IPv4 สาธารณะหรือชื่อโฮสต์ของเซิร์ฟเวอร์ที่จะใช้ได้ที่ สถานะเซิร์ฟเวอร์รีเลย์ และดูในรูปแบบ JSON ได้จาก API เซิร์ฟเวอร์รีเลย์
- ในการตั้งค่าพร็อกซีของเบราว์เซอร์หรือระบบปฏิบัติการ ให้กรอกที่อยู่สาธารณะนั้นและพอร์ตที่ตรงกับบริการ หากใช้พร็อกซี HTTP ปกติ ให้ระบุ TCP 18080
- เมื่อระบบขอยืนยันตัวตน ให้กรอก Mudfish ID และรหัสผ่าน
ตัวอย่างการตั้งค่าเครือข่ายภายในแบบเดิมด้านล่างใช้ IP ภายในกับพอร์ต 8080 หากเชื่อมต่อผ่าน IP สาธารณะ ให้ใช้ที่อยู่สาธารณะและพอร์ตที่ตรวจสอบไว้ด้านบน
วิธีตั้งค่าสำหรับแต่ละเบราว์เซอร์ (ตั้งค่า HTTP proxy โดยตรง)
เมื่อใช้วิธีนี้ ทราฟฟิกทั้งหมดของเบราว์เซอร์จะผ่านเซิร์ฟเวอร์รีเลย์ Mudfish ดังนั้นหลังปิดโปรแกรม Mudfish เบราว์เซอร์อาจทำงานไม่ถูกต้องเนื่องจากการตั้งค่าพร็อกซี
เพื่อแก้ปัญหานี้ ต้องปิดการตั้งค่าพร็อกซี
ตัวอย่างต่อไปนี้อธิบายการใช้เซิร์ฟเวอร์รีเลย์ Mudfish เกาหลี KT เป็นพร็อกซีเซิร์ฟเวอร์ (IP ภายในคือ 10.255.96.1 และ HTTP proxy ใช้พอร์ต 8080)
Chrome
โดยค่าเริ่มต้น Google Chrome ใช้การตั้งค่าพร็อกซีที่กำหนดใน Internet Explorer (IE)
ทำตามขั้นตอนต่อไปนี้เพื ่อเปลี่ยนการตั้งค่าพร็อกซี
-
คลิกเมนูเครื่องมือรูปประแจบนแถบเครื่องมือของเบราว์เซอร์
-
เลือก ตั้งค่า

-
คลิก ขั้นสูง

-
ในส่วน “เครือข่าย” คลิก เปลี่ยนการตั้งค่าพร็อกซี หน้าต่างคุณสมบัติอินเทอร์เน็ตจะเปิดขึ้น

-
จากนั้นทำตามการตั้งค่า Internet Explorer ด้านล่างตั้งแต่ขั้นตอนที่ 2
Firefox
Firefox มีฟังก์ชันตั้งค่าพร็อกซีของตนเอง
-
เปิดเมนู การตั้งค่า

-
ไปที่แท็บ ทั่วไป แล้วเลือกแท็บย่อย การตั้งค่าเครือข่าย
-
คลิกปุ่ม ตั้งค่า ข้างเมนูการเชื่อมต่อ หน้าต่าง “การตั้งค่าการเชื่อมต่อ” จะเปิดขึ้น
-
คลิก ตั้งค่าพร็อกซีด้วยตนเอง

-
กรอกที่อยู่ภายในของเซิร์ฟเวอร์รีเลย์ Mudfish ที่จะใช้ในช่อง IP และ Port ของ ตั้งค่าพร็อกซีด้วยตนเอง (เช่น IP 10.255.96.1 และพอร์ต 8080)
-
เมื่อเปลี่ยนข้อมูลครบแล้ว ให้คลิกตกลงจนกลับไปยัง Firefox
Internet Explorer
ข้อมูลนี้ใช้กับ Windows Internet Explorer 7 ขึ้นไป
-
คลิกปุ่ม เครื่องมือ แล้วคลิก ตัวเลือกอินเทอร์เน็ต สำหรับ Internet Explorer 11 ให้เลือกตัวเลือกอินเทอร์เน็ตตามภาพด้านล่าง

-
คลิกแท็บ เชื่อมต่อ แล้วคลิก การตั้งค่า LAN

-
ในส่วน พร็อกซีเซิร์ฟเวอร์ ให้เลือกช่อง “ใช้พร็อกซีเซิร์ฟเวอร์สำหรับ LAN” และ “ไม่ใช้พร็อกซีเซิร์ฟเวอร์สำหรับที่อยู่ภายในเครื่อง”

-
คลิกปุ่ม “ขั้นสูง” แล้วกรอก IP และพอร์ตที่ถูกต้องของเซิร์ฟเวอร์รีเลย์ Mudfish ในช่อง HTTP ของหน้าต่างการตั้งค่าพร็อกซี

-
เมื่อเปลี่ยนข้อมูลครบแล้ว ให้คลิกตกลงจนกลับไปยัง Internet Explorer
วิธีตั้งค่าสำหรับแต่ละเบราว์เซอร์ (ตั้งค่า SOCKS proxy โดยตรง)
ส่วนนี้จัดทำสำหรับผู้ที่ใช้ฟังก์ชัน WPAD ได้ยาก เมื่อใช้วิธีนี้ ทราฟฟิกทั้งหมดของเบราว์เซอร์จะผ่านเซิร์ฟเวอร์รีเลย์ Mudfish หลังปิดโปรแกรม Mudfish เบราว์เซอร์จึงอาจทำงานไม่ถูกต้องเนื่องจากการตั้งค่าพร็อกซี
เพื่อแก้ปัญหานี้ ต้องปิดการตั้งค่าพร็อกซี
ด้านล่างอธิบายวิธีใช้เซิร์ฟเวอร์รีเลย์ Mudfish โดยตั้งค่า SOCKS proxy ในเบราว์เซอร์โดยตรง โดยไม่ใช้ฟังก์ชัน WPAD
ตัวอย่างต่อไปนี้อธิบายการใช้เซิร์ฟเวอร์รีเลย์ Mudfish เกาหลี KT เป็นพร็อกซีเซิร์ฟเวอร์ (IP ภายในคือ 10.255.96.1 และ SOCKS proxy ใช้พอร์ต 8081)
Chrome
โดยค่าเริ่มต้น Google Chrome ใช้การตั้งค่าพร็อกซีที่กำหนดใน Internet Explorer (IE)
ทำตามขั้นตอนต่อไปนี้เพื่อเปลี่ยนการตั้งค่าพร็อกซี
-
คลิกเมนูเครื่องมือรูปประแจบนแถบเครื่องมือของเบราว์เซอร์
-
เลือก ตั้งค่า

-
คลิก ตั้งค่า

-
ในส่วน “เครือข่าย” คลิก เปลี่ยนการตั้งค่าพร็อกซี หน้าต่างคุณสมบัติอินเทอร์เน็ตจะเปิดขึ้น

-
จากนั้นทำตามการตั้งค่า Internet Explorer ด้านล่างตั้งแต่ขั้นตอนที่ 2
Firefox
Firefox มีฟังก์ชันตั้งค่าพร็อกซีของตนเอง
-
เปิดเมนู การตั้งค่า

-
ไปที่แท็บ ทั่วไป แล้วเลือกแท็บย่อย การตั้งค่าเครือข่าย
-
คลิกปุ่ม ตั้งค่า ข้างเมนูการตั้งค่าเครือข่าย หน้าต่าง “การตั้งค่าการเชื่อมต่อ” จะเปิดขึ้น
-
คลิก ตั้งค่าพร็อกซีด้วยตนเอง

-
กรอกที่อยู่ภายในของเซิร์ฟเวอร์รีเลย์ Mudfish ที่จะใช้ในช่อง IP และ Port ของ ตั้งค่าพร็อกซีด้วยตนเอง (เช่น IP 10.255.96.1 และพอร์ต 8081) โดยใช้ส่วน SOCKS Host
-
เมื่อเปลี่ยนข้อมูลครบแล้ว ให้คลิกตกลงจนกลับไปยัง Firefox
Internet Explorer
ข้อมูลนี้ใช้กับ Windows Internet Explorer 7 ขึ้นไป
-
คลิกปุ่ม