พร็อกซีเซิร์ฟเวอร์มีหลายประเภท ประเภทเหล่านี้สามารถจัดกลุ่มตามโปรโตคอล จำนวนผู้ใช้ที่ใช้งานอยู่ (ผู้รับมอบฉันทะที่ใช้ร่วมกัน, ผู้รับมอบฉันทะส่วนตัว, และ ผู้รับมอบฉันทะที่บริสุทธิ์) ประเภทของที่อยู่ IP ที่กำหนด (ผู้รับมอบฉันทะสาธารณะหรือฟรี, ผู้รับมอบฉันทะที่อยู่อาศัย, พร็อกซีมือถือ, และ พร็อกซีของศูนย์ข้อมูล) และเวอร์ชัน IP (พร็อกซี IPv4 และ IPv6). อย่างไรก็ตาม บทความนี้จะเน้นที่พร็อกซี HTTP และ HTTPS ซึ่งอยู่ภายใต้พร็อกซีตามหมวดหมู่โปรโตคอล
แต่ก่อนอื่น ให้เราพูดถึงโปรโตคอลที่ใช้พร็อกซี HTTP และพร็อกซี HTTPS
ทำความเข้าใจกับ HTTP และ HTTPS
HTTP คืออะไร?
Hypertext Transfer Protocol หรือ HTTP เป็นโปรโตคอลไร้สถานะระดับแอปพลิเคชันที่อำนวยความสะดวกในการสื่อสารระหว่างแอปพลิเคชันไคลเอ็นต์ (เช่น เว็บเบราว์เซอร์และเว็บแอป) และเว็บเซิร์ฟเวอร์ (หรือเซิร์ฟเวอร์อินเทอร์เฟซผู้ใช้บนเว็บ)
เป็นโปรโตคอลเลเยอร์ 7 (หรือโปรโตคอลเลเยอร์แอปพลิเคชัน) ซึ่งหมายความว่ามีจุดประสงค์เพื่อส่งข้อมูลระหว่างเซิร์ฟเวอร์และไคลเอนต์และในทางกลับกัน โดยทั่วไป HTTP รองรับการส่งข้อมูลหลายประเภท ซึ่งรวมถึงข้อมูลข้อความ วิดีโอ และเสียง ซึ่งเรียกรวมกันว่าไฮเปอร์มีเดีย
เมื่อลูกค้าต้องการเข้าถึงข้อมูลนี้ซึ่งจัดเก็บไว้บนเซิร์ฟเวอร์ ลูกค้าจะส่งคำขอ HTTP โดยทั่วไป คำร้องขอ HTTP ประกอบด้วยสิ่งต่อไปนี้:
- บรรทัดคำขอที่ระบุวิธีการ HTTP (GET, POST, PUT, DELETE และอื่นๆ) เวอร์ชัน HTTP (ด้านล่าง) และข้อมูลเพิ่มเติมเกี่ยวกับเป้าหมายของคำขอ (ชื่อโฮสต์และพอร์ต)
- ส่วนหัวซึ่งเก็บข้อมูลเพิ่มเติม เช่น คุกกี้
- เนื้อความของข้อความคำขอ
เมื่อได้รับคำขอและตีความข้อความ เซิร์ฟเวอร์จะส่งการตอบสนอง HTTP ที่มีข้อมูลที่ร้องขอ
HTTP ทำงานอย่างไร?
เป็นที่น่าสังเกตว่า HTTP ไม่ได้ทำหน้าที่แยกกัน ที่จริงแล้วมันทำงานอยู่ด้านบนของ โปรโตคอลชั้นการขนส่ง (ชั้นที่ 4) เช่น โปรโตคอลควบคุมการส่งสัญญาณ (ทีซีพี) และ ผู้ใช้เดตาแกรมโปรโตคอล (ยูดีพี). นอกจากนี้ มันยังถูกสร้างขึ้นบนโปรโตคอล IP ซึ่งมีอยู่ในขณะนั้นด้วย
ในส่วนของโปรโตคอลเลเยอร์ 4 เหล่านี้จะสร้าง จัดการ และปิดการสื่อสารระหว่างเซิร์ฟเวอร์และไคลเอนต์ (อุปกรณ์เครือข่าย) พูดง่ายๆ ก็คือ TCP และ UDP อนุญาตให้แอปพลิเคชันเครือข่ายซึ่งอยู่เหนือเลเยอร์ที่สี่ (รวมถึงแอปพลิเคชันที่ใช้ HTTP) เพื่อสร้างการสื่อสารไคลเอนต์-เซิร์ฟเวอร์หรือแบบจุดต่อจุดระหว่างกัน
เมื่อการสื่อสารถูกสร้างขึ้นแล้ว HTTP จะเข้าสู่การดำเนินการเพื่อส่งข้อมูล TCP หรือ UDP จัดการการสื่อสารโดยทำให้แน่ใจว่าการสื่อสารทำงานได้อย่างราบรื่น และเมื่อการส่งข้อมูลสิ้นสุดลง โปรโตคอลชั้นที่ 4 เหล่านี้จะปิดการสื่อสาร โดยเฉพาะอย่างยิ่ง TCP และ UDP ใช้หมายเลขพอร์ตเพื่อระบุแอปพลิเคชันเว็บที่ 'พูดคุย' กัน จุดสังเกตอีกประการหนึ่งคือการใช้งาน HTTP/3 ซึ่งเป็นเวอร์ชันล่าสุด ใช้ QUIC แทน TCP สำหรับด้านเลเยอร์การขนส่งของการสื่อสาร (ควิก เป็นโปรโตคอลการขนส่งแบบมัลติเพล็กซ์ที่ใช้งานบน UDP)
ประวัติความเป็นมาของ HTTP
HTTP เปิดตัวครั้งแรกในปี 1991 หลังจาก Tim Berners-Lee และทีมงานของเขาได้รับการพัฒนาประมาณสองปี ตั้งแต่นั้นมา ระเบียบการดังกล่าวก็ได้ผ่านกระบวนการ วิวัฒนาการ ที่ได้เห็นการเปลี่ยนแปลงและปรับปรุงมากมาย นำไปสู่เวอร์ชัน HTTP หลายเวอร์ชัน เวอร์ชันเหล่านี้ประกอบด้วย:
- HTTP/0.9 (เปิดตัวในปี 1991)
- HTTP/1.0 (มาตรฐานในปี 1996)
- HTTP/1.1 (เปิดตัวและเป็นมาตรฐานในปี 1997)
- HTTP/2 (เป็นมาตรฐานในปี 2558)
- HTTP/3 (เปิดตัวในปี 2022)
HTTPS คืออะไร
แม้ว่า HTTP จะเป็นโปรโตคอลยอดนิยมที่ใช้กันอย่างแพร่หลายบนอินเทอร์เน็ต แต่ก็มีข้อบกพร่องบางประการ ซึ่งส่วนใหญ่เป็นความปลอดภัย ด้วย HTTP ข้อมูลทั้งหมดจะถูกส่งในรูปแบบข้อความที่ชัดเจน ดังนั้นผู้โจมตีจึงสามารถมองเห็นได้ง่าย ในความเป็นจริง อาจเป็นที่น่ากังวลหากข้อมูลมีข้อมูลที่ละเอียดอ่อน เช่น ข้อมูลบัตรเครดิต รหัสผ่าน ชื่อผู้ใช้ หมายเลขโทรศัพท์ หมายเลขประกันสังคม รายละเอียดที่อยู่ และอื่นๆ เพื่อแก้ปัญหาด้านความปลอดภัย จึงได้มีการนำ HTTPS มาใช้
Hypertext Transfer Protocol Secure (HTTPS) เป็นโปรโตคอล HTTP ที่ปลอดภัยที่เข้ารหัสข้อมูลทั้งหมดที่ส่งผ่าน HTTP HTTPS ใช้โปรโตคอล Secure Sockets Layer (SSL) หรือ Transport Layer Security (TLS) เพื่อตรวจสอบความถูกต้องของข้อมูลประจำตัวของเว็บเซิร์ฟเวอร์และปกป้องข้อมูล SSL ใช้คีย์ (คีย์สาธารณะและคีย์ส่วนตัว) และใบรับรองดิจิทัลเพื่อรักษาความปลอดภัยข้อมูล ในขณะที่ TLS อาศัยการเข้ารหัสเพื่อเข้ารหัสข้อมูล TLS ยังตรวจสอบสิทธิ์ทั้งไคลเอ็นต์และเซิร์ฟเวอร์อีกด้วย
ประวัติความเป็นมาของ HTTPS
HTTPS ถูกสร้างขึ้นในปี 1994 ในขณะนั้น HTTPS ใช้ SSL เป็นหลัก อย่างไรก็ตาม ต่อมาในปี 2000 HTTPS ที่ใช้ TLS ก็ได้รับมาตรฐาน ตามที่ผู้สังเกตการณ์ระบุว่า TLS ต้องใช้เวลาหลายปีกว่าจะใช้กันอย่างแพร่หลายนอกเหนือจากการชำระเงินด้วยบัตรเครดิต โดยเฉพาะอย่างยิ่งเนื่องจากใบรับรอง TLS ต้องการความรู้ทางเทคนิคเพิ่มเติมในการติดตั้งและต้องเสียค่าใช้จ่าย ด้วยเหตุนี้จึงไม่สามารถทำได้ โดยเฉพาะไซต์ขนาดเล็ก แต่ภาพรวมมีการเปลี่ยนแปลง โดยบริการเว็บโฮสติ้งและบริษัทคลาวด์เปิดตัวโปรแกรมใบรับรองการเข้ารหัสฟรีและเสนอ HTTPS ฟรี ภายในปี 2560 ครึ่งหนึ่งของเว็บถูกเข้ารหัส.
เมื่อไม่ต้องพูดถึงเรื่องพื้นฐานแล้ว ตอนนี้ให้เรามุ่งเน้นไปที่ว่าพร็อกซี HTTP คืออะไร และพร็อกซี HTTPS คืออะไร ความเหมือนและความแตกต่าง และการใช้งาน
พร็อกซี HTTP คืออะไร
ก่อนที่จะอธิบายว่าพร็อกซี HTTP คืออะไร เรามาทำความเข้าใจกันก่อน พร็อกซีเซิร์ฟเวอร์คืออะไร. พร็อกซีเซิร์ฟเวอร์หรือพร็อกซีเป็นตัวกลางที่อยู่ระหว่างเว็บไคลเอ็นต์และเว็บเซิร์ฟเวอร์ มันทำงานโดยกำหนดเส้นทางการรับส่งข้อมูลอินเทอร์เน็ตผ่านตัวมันเอง และในกระบวนการนี้ จะทำหน้าที่เป็นผู้ริเริ่มคำขอและยุติการตอบสนอง โดยทั่วไป มีพร็อกซีเซิร์ฟเวอร์จำนวนหนึ่ง ซึ่งแต่ละเซิร์ฟเวอร์ได้รับการออกแบบเพื่อรองรับฟังก์ชันเฉพาะ
ในความเป็นจริง มีผู้รับมอบฉันทะที่กำหนดค่าให้ดำเนินการในนามของลูกค้า โดยมองว่าพวกเขาเป็นผู้ริเริ่มคำขอและผู้ยุติการตอบสนอง ผู้รับมอบฉันทะดังกล่าวเรียกว่าผู้รับมอบฉันทะล่วงหน้า ในทางกลับกัน พร็อกซีบางตัวสามารถกำหนดค่าให้ดำเนินการในนามของเซิร์ฟเวอร์ได้ ในการดำเนินการตามบทบาทนี้ ดูเหมือนว่าเป็นจุดที่คำขอสิ้นสุดลงและการตอบกลับเกิดขึ้น พร็อกซีดังกล่าวเรียกว่าพร็อกซีแบบย้อนกลับ โดยบังเอิญ พร็อกซี HTTP สามารถทำหน้าที่เป็นพร็อกซีส่งต่อหรือพร็อกซีย้อนกลับ ขึ้นอยู่กับตำแหน่งที่เกิดการกำหนดค่า
แล้วพร็อกซีเซิร์ฟเวอร์ HTTP คืออะไร? เป็นพร็อกซีเซิร์ฟเวอร์ที่กำหนดเส้นทางการรับส่งข้อมูล HTTP ผ่านตัวมันเองเท่านั้น พร็อกซี HTTP เป็นพร็อกซีประเภทหนึ่งที่ใช้โปรโตคอลควบคู่ไปด้วย พร็อกซี SOCKS5. อย่างไรก็ตาม ไม่เหมือนกับพร็อกซี SOCKS5 ซึ่งมีจุดมุ่งหมายเพื่ออำนวยความสะดวกในการสื่อสารผ่านไฟร์วอลล์เป็นหลัก พร็อกซี HTTP มีวัตถุประสงค์เพื่อทำหน้าที่เป็นตัวกรองเนื้อหาประสิทธิภาพสูง
โดยปกติพร็อกซี HTTP จะรับฟังการรับส่งข้อมูล HTTP ผ่านพอร์ต 80, 8080, 8008 และ 3128 นอกจากนี้ยังสามารถฟังการรับส่งข้อมูล HTTPS ผ่านทาง พอร์ต 3129. แม้ว่าส่วนใหญ่จะใช้แยกกัน แต่คุณสามารถเชื่อมต่อกับพร็อกซีที่มีอยู่ได้ โดยเฉพาะอย่างยิ่งหากแอปพลิเคชันที่คุณกำลังกำหนดค่าใช้พร็อกซีเซิร์ฟเวอร์อยู่แล้ว การจัดเรียงนี้สร้างพร็อกซีลูกโซ่
ประเภทของพร็อกซี HTTP
พร็อกซี HTTP มีสองประเภท ได้แก่:
1. พร็อกซีไคลเอ็นต์ HTTP
โดยทั่วไปแล้ว พร็อกซีไคลเอ็นต์ HTTP ส่งต่อคำขอไปยังตัวเอง (ในฐานะตัวกลาง) ก่อนที่จะส่งต่อไปยังเซิร์ฟเวอร์หรือปลายทางเป้าหมาย จึงปรากฏว่าเป็นผู้ริเริ่มคำขอ
พร็อกซีไคลเอ็นต์ HTTP จะกำหนดเส้นทางคำขอ HTTP ขาออกทั้งหมดและการตอบกลับ HTTP ขาเข้าผ่านตัวมันเอง ในกระบวนการนี้ จะตีความเนื้อหาทั้งหมดของคำขอและการตอบกลับ HTTP นอกจากนี้ยังสามารถเปลี่ยนเนื้อหาบางอย่างของคำขอ HTTP ได้ตราบใดที่เนื้อหาเหล่านั้นสอดคล้องกับ แนวทางสำหรับพร็อกซีการแปลงเนื้อหาเว็บ. โดยทั่วไป พร็อกซีไคลเอ็นต์ HTTP จะเปลี่ยนส่วนหัว HTTP เฉพาะ รวมถึง user-agent, Accept, Accept-Charset, Accept-encoding, Accept-Language, x-forwarded-for และ via นอกจากนี้ยังสามารถแปลงวิธีการร้องขอจาก HEAD เป็น GET และในทางกลับกัน
การกำหนดค่าระบบของคุณและเว็บเบราว์เซอร์โดยใช้ส่วนขยายเพื่อใช้พร็อกซีไคลเอ็นต์ HTTP (เพิ่มเติมด้านล่างนี้) ทำหน้าที่บางอย่างได้ ขั้นแรก จะเปลี่ยนจุดสิ้นสุด TCP (พอร์ตและชื่อโฮสต์) ใน HTTP URL เป็นอันที่เป็นของผู้ให้บริการพร็อกซี HTTP ด้วยเหตุนี้ การเชื่อมต่อ TCP จะถูกสร้างขึ้นในครั้งแรกกับพอร์ตและโฮสต์อื่น (พอร์ตของพร็อกซีและโฮสต์) ที่ไม่ใช่พอร์ตใน HTTP URL ก่อนที่จะถูกส่งไปยังโฮสต์และพอร์ตดั้งเดิม/จริง เนื่องจากพร็อกซีไม่เปลี่ยนแปลงเนื้อหาของข้อความซึ่งประกอบด้วยโฮสต์และพอร์ตที่แท้จริง เป็นผลให้พร็อกซี HTTP สามารถรับคำขอบนพอร์ตเดียวก่อนที่จะส่งต่อคำขอและข้อความในนั้นไปยังเซิร์ฟเวอร์และเว็บไซต์ต่างๆ ตามข้อมูลปลายทางที่มีอยู่ในข้อความ HTTP
2. พร็อกซีเซิร์ฟเวอร์ HTTP
ในบางกรณี แอปพลิเคชันบางตัว เช่น ที่พบในเว็บเซิร์ฟเวอร์ ไม่สามารถกำหนดค่าเป็นผู้ริเริ่มได้ และต้องกำหนดค่าเป็นจุดสิ้นสุดแทน ด้วยเหตุนี้ เว็บไคลเอ็นต์จึงปรากฏเป็นปลายทางของคำขอ เมื่อแอปพลิเคชันเหล่านี้ได้รับการกำหนดค่าเป็นจุดสิ้นสุด จะเรียกว่าพร็อกซีเซิร์ฟเวอร์ HTTP
ประเภทของพร็อกซี HTTP จัดอันดับตามการไม่เปิดเผยตัวตน
พร็อกซี HTTP แตกต่างกันในระดับของการไม่เปิดเผยตัวตน พร็อกซี HTTP ประเภทต่อไปนี้สามารถแยกแยะได้:
- ผู้รับมอบฉันทะที่โปร่งใส: สำหรับพรอกซีแบบโปร่งใส ผู้ใช้มักจะไม่สังเกตว่าเขากำลังใช้การเชื่อมต่อพรอกซี การเชื่อมต่อพร็อกซีจะปรากฏแก่ผู้ให้บริการเว็บไซต์หรือผู้ให้บริการเท่านั้น ข้อได้เปรียบหลักของพร็อกซีแบบโปร่งใสคือเพิ่มความเร็วการเชื่อมต่อโดยการแคชข้อมูล
- ผู้รับมอบฉันทะที่ไม่ระบุชื่อ: ด้วยพรอกซีที่ไม่เปิดเผยตัวตน ที่อยู่ IP ของคุณจะถูกซ่อนไว้ ในกรณีนี้ เว็บไซต์เป้าหมายจะเห็นว่าคุณกำลังใช้พร็อกซี แต่ไม่ใช่ที่อยู่ IP จริงของคุณ
- การบิดเบือนผู้รับมอบฉันทะ: พร็อกซีเซิร์ฟเวอร์ประเภทนี้สามารถระบุได้ว่าเป็นพร็อกซีโดยเว็บไซต์เป้าหมาย แต่จะสื่อสารที่อยู่ IP ที่ไม่ถูกต้อง
- ผู้รับมอบฉันทะชั้นสูง: นี่คือพร็อกซีที่ไม่เปิดเผยตัวตนที่จะลบข้อมูลผู้ใช้ก่อนที่พร็อกซีจะพยายามเชื่อมต่อกับเว็บไซต์เป้าหมาย ด้วยพรอกซีประเภทนี้ เว็บไซต์เป้าหมายไม่สามารถตรวจพบได้ว่ามีการใช้พรอกซี และไม่สามารถระบุที่อยู่ IP ของผู้ใช้ได้
มีชื่อเสียงทั้งหมด ผู้ให้บริการพร็อกซี ที่มีพร็อกซี HTTP เสนอเฉพาะพร็อกซีชั้นสูงเท่านั้น
วิธีการตั้งค่าพร็อกซี HTTP
ส่วนนี้จะเน้นไปที่วิธีสร้างพร็อกซีไคลเอ็นต์ HTTP เป็นหลัก มันถูกสร้างขึ้นโดยการกำหนดค่าเว็บไคลเอ็นต์ (เบราว์เซอร์) เพื่อกำหนดเส้นทางการรับส่งข้อมูล HTTP ผ่านตัวกลาง อย่างไรก็ตามเป็นที่น่าสังเกตว่า โครเมียม, ซาฟารี, มอซซิลา ไฟร์ฟอกซ์และเบราว์เซอร์ยอดนิยมอื่นๆ ไม่มีการตั้งค่าพร็อกซีเซิร์ฟเวอร์ในแอป (เนทิฟ)
เมื่อคุณคลิกที่การตั้งค่าของโปรแกรมและเลือกตัวเลือกพร็อกซี มันจะเปลี่ยนเส้นทางคุณไปยังหน้าต่างการกำหนดค่าพร็อกซี Windows, macOS หรือ Linux ในเรื่องนี้ หากต้องการสร้างพร็อกซี HTTP เพียงกำหนดค่าระบบปฏิบัติการของคุณ การทำเช่นนี้จะสร้างพร็อกซี HTTP ทั่วทั้งระบบที่ใช้งานได้กับเว็บแอปอื่นๆ ทั้งหมด ไม่ใช่แค่เบราว์เซอร์ที่คุณต้องการ
หากต้องการตั้งค่าพร็อกซี HTTP บน Windows ให้ทำตามขั้นตอนด้านล่าง:
- เปิดหน้าต่าง' การตั้งค่า > เลือก เครือข่ายและอินเทอร์เน็ต > เลือก หนังสือมอบฉันทะ แท็บ หรือคุณสามารถใช้เบราว์เซอร์ของคุณเพื่อเปิดแท็บพร็อกซีได้
- มุ่งหน้าไปที่ การตั้งค่าพร็อกซีด้วยตนเอง ส่วน
- ในช่องที่อยู่ ให้ป้อน IP หรือที่อยู่ของโฮสต์พร็อกซี นอกจากนี้ ให้ป้อนพอร์ตพร็อกซี ผู้ให้บริการพร็อกซีของคุณควรให้รายละเอียดแก่คุณ
- ใต้ช่อง "ใช้พร็อกซีเซิร์ฟเวอร์ยกเว้นที่อยู่ที่ขึ้นต้นด้วยรายการต่อไปนี้" ให้ป้อน URL ของผู้ให้บริการพร็อกซีของคุณ
- ต่อไปให้ตรวจสอบ อย่าใช้พร็อกซีเซิร์ฟเวอร์สำหรับที่อยู่ในเครื่อง (อินทราเน็ต)
- คลิก บันทึก
หากต้องการตั้งค่าพร็อกซี HTTP บน macOS ให้ทำตามขั้นตอนต่อไปนี้:
- คลิก การตั้งค่าระบบ > เลือก เครือข่าย > คลิกที่ ขั้นสูง > เลือก ผู้รับมอบฉันทะ แท็บ หรือคุณสามารถใช้เว็บไคลเอ็นต์ของคุณซึ่งจะเปิดไฟล์โดยอัตโนมัติ ผู้รับมอบฉันทะ แท็บ
- ถัดไป สลับไฟล์ เว็บพร็อกซี (HTTP) ตัวเลือก
- กรอก IP และพอร์ตของ พร็อกซีเซิร์ฟเวอร์เว็บ (พร็อกซี HTTP) โดยทั่วไป คุณควรป้อน IP ของผู้ให้บริการพร็อกซีและป้อนพอร์ต 80, 8080 หรือ 8008 ในช่อง
- ป้อนชื่อผู้ใช้และรหัสผ่านของพร็อกซี HTTP ชื่อผู้ใช้และรหัสผ่านควรเหมือนกับข้อมูลประจำตัวที่คุณใช้ในการเข้าถึงบัญชีที่คุณมีกับผู้ให้บริการของคุณ
- คลิก ตกลง.
หากความปลอดภัยเป็นสิ่งสำคัญที่ต้องพิจารณาเมื่อท่องเว็บ พร็อกซี HTTP ก็ไม่เหมาะสม สิ่งที่คุณกำลังมองหาคือพร็อกซี HTTPS
พร็อกซี HTTPS คืออะไร
พร็อกซี HTTPS หรือที่เรียกว่าพร็อกซี SSL เป็นตัวกลางที่รับฟังเฉพาะการรับส่งข้อมูล HTTPS บนพอร์ต 443 เท่านั้น ด้วยเหตุนี้ จึงกำหนดเส้นทางการรับส่งข้อมูล HTTPS ผ่านตัวมันเองเท่านั้น ตามที่ระบุไว้ข้างต้น HTTPS เข้ารหัสข้อมูลที่ส่งผ่านโปรโตคอล ซึ่งหมายความว่าองค์ประกอบทั้งหมดของคำขอและการตอบกลับ HTTP รวมถึงส่วนหัวและข้อความจะถูกซ่อนอยู่หลังคีย์การเข้ารหัส ดังนั้นจึงสามารถดูหรือตีความได้ที่จุดสิ้นสุดหรือจุดสิ้นสุดเท่านั้น สำหรับตัวกลาง เช่น พร็อกซี HTTPS ในการตีความข้อมูล จะต้องกำหนดค่าเป็นจุดสิ้นสุด
ในการนี้ พร็อกซี HTTPS ได้รับการกำหนดค่าให้ทำหน้าที่เป็นจุดสิ้นสุดของการเชื่อมต่อ TLS หรือ SSL ดังนั้น ถอดรหัสคำขอ ตีความเนื้อหา เปลี่ยนแปลงบางแง่มุมของคำขอ เข้ารหัส และสุดท้ายส่งต่อไปยังปลายทางจริงที่มีอยู่ในข้อความ HTTP ตามที่ระบุไว้ก่อนหน้านี้ โปรโตคอล HTTPS ใช้ใบรับรอง ดังนั้น พร็อกซี HTTPS จะต้องเข้ารหัสการรับส่งข้อมูลด้วยใบรับรองที่ถูกต้อง (ใบรับรองไคลเอ็นต์หรือเซิร์ฟเวอร์) ก่อนที่จะส่งไปยังปลายทางที่ต้องการ โดยเฉพาะอย่างยิ่ง หากไม่ได้กำหนดค่าพร็อกซี HTTPS เป็นจุดสิ้นสุด ก็ไม่ควรเปลี่ยนแปลงเนื้อหาของส่วนหัวหรือคำขอ HTTP ตามที่กำหนดโดยแนวทางสำหรับพร็อกซีการแปลงเนื้อหาเว็บ
โดยทั่วไปแล้วพร็อกซี HTTPS ใช้เพื่อรักษาความปลอดภัยเว็บเซิร์ฟเวอร์หรือเว็บไคลเอ็นต์โดยทำการเข้ารหัส
ประเภทของพร็อกซี HTTPS
พร็อกซี HTTPS มีสองประเภท:
1. พร็อกซีไคลเอ็นต์ HTTPS
พร็อกซีไคลเอ็นต์ HTTPS อำนวยความสะดวกในการเชื่อมต่อจากเว็บไคลเอ็นต์หรือเครือข่ายภายในไปยังอินเทอร์เน็ต หากต้องการตั้งค่าพร็อกซีไคลเอ็นต์ HTTPS คุณต้องนำเข้าใบรับรองไคลเอ็นต์เพื่อใช้โดยอุปกรณ์ที่ติดตั้งพร็อกซี ซึ่งช่วยให้ตัวกลางสามารถถอดรหัสและเข้ารหัสข้อมูลได้ราวกับว่าเป็นผู้ริเริ่มคำขอหรือตัวยุติการตอบสนอง
2. พร็อกซีเซิร์ฟเวอร์ HTTPS
พร็อกซีเซิร์ฟเวอร์ HTTPS ช่วยให้สามารถเชื่อมต่อจากเว็บไคลเอ็นต์ภายนอกไปยังเว็บเซิร์ฟเวอร์ภายในผ่านทางอินเทอร์เน็ต พร็อกซีเซิร์ฟเวอร์ HTTPS แตกต่างจากพร็อกซีเซิร์ฟเวอร์ HTTP เนื่องจากพร็อกซีเซิร์ฟเวอร์แรกใช้ใบรับรอง ในขณะที่พร็อกซีเซิร์ฟเวอร์หลังไม่ได้ใช้ ในการตั้งค่าพร็อกซีเซิร์ฟเวอร์ HTTPS สิ่งสำคัญคือต้องส่งออกใบรับรองเริ่มต้นที่เว็บเซิร์ฟเวอร์ของคุณใช้ไปยังพร็อกซี ใบรับรองทำให้พร็อกซีเซิร์ฟเวอร์ HTTPS สามารถเข้ารหัสและถอดรหัสข้อมูลได้
วิธีการตั้งค่าพร็อกซี HTTPS
การตั้งค่าพร็อกซี HTTPS ทำตามขั้นตอนที่อธิบายไว้ข้างต้น โดยมีความแตกต่างเพียงเล็กน้อยเกี่ยวกับพอร์ตที่ใช้ ตรวจสอบให้แน่ใจว่าคุณได้ป้อน 443 ภายในช่องพอร์ตทุกครั้งที่คุณสร้างพร็อกซี HTTPS หากคุณใช้อุปกรณ์ macOS โปรดทราบว่าคุณต้องเลือก เว็บพร็อกซีที่ปลอดภัย (HTTPS) ตัวเลือกแทน เว็บพร็อกซี (HTTP). มิฉะนั้นขั้นตอนจะเหมือนกันเป็นส่วนใหญ่
การเชื่อมต่อผ่าน HTTPS Proxy มีความปลอดภัยแค่ไหน?
เมื่อผู้ใช้ที่ใช้พร็อกซี HTTPS เปิดหน้าเว็บที่มี “ไอคอนล็อค” ทางด้านซ้ายของแถบที่อยู่ การเชื่อมต่อทั้งหมดระหว่างเบราว์เซอร์ของผู้ใช้และเซิร์ฟเวอร์ของไซต์เป้าหมายจะถูกเข้ารหัส (การเข้ารหัส SSL):
ซึ่งหมายความว่าข้อมูลทั้งหมดที่ผู้ใช้ป้อนบนแป้นพิมพ์ (ข้อมูลเข้าสู่ระบบและรหัสผ่าน หมายเลขบัตรเครดิต ฯลฯ) รูปภาพและวิดีโอที่ดาวน์โหลด อัปโหลด หรือสตรีมยังคงเป็นส่วนตัวโดยสมบูรณ์
เบราว์เซอร์ <-> HTTPS-Proxy <-> หน้าเป้าหมาย
ซึ่งหมายความว่ามีเพียงผู้ใช้และเจ้าของเว็บไซต์เป้าหมายเท่านั้นที่ทราบ
บริการพร็อกซีสามารถ "ฟัง" การรับส่งข้อมูลได้หรือไม่
ไม่ นี่เป็นไปไม่ได้ในทางเทคนิค ผู้ให้บริการพร็อกซีสามารถเดาได้เพียงว่าผู้ใช้พยายามแฮ็กรหัสผ่านไปยังบัญชีบนเว็บไซต์ใดๆ เห็นได้จากความถี่ในการเข้าถึงหน้าเข้าสู่ระบบของไซต์เป้าหมาย สิ่งนี้จะเกิดขึ้นหากผู้ใช้ทำเช่นนี้ด้วยความถี่หนึ่งล้านครั้งต่อนาทีโดยใช้โปรแกรมกำลังดุร้าย
HTTP Proxies กับ HTTPS Proxies: ความเหมือนและความแตกต่าง
ความคล้ายคลึงกันระหว่างพร็อกซี HTTP และ HTTPS
- สามารถกำหนดค่าได้ทั้งบนฝั่งไคลเอ็นต์หรือฝั่งเซิร์ฟเวอร์
- พร็อกซี HTTP และ HTTPS ตีความข้อมูลที่ส่งผ่านพวกเขา
- พรอกซีรับฟังการรับส่งข้อมูลผ่านพอร์ต
- พร็อกซีฝั่งไคลเอ็นต์ส่งต่อคำขอทั้งหมดไปยังปลายทางเป้าหมาย
- พร็อกซีฝั่งไคลเอ็นต์สามารถใช้เพื่ออำนวยความสะดวกในการขูดเว็บ
ความแตกต่างระหว่างพร็อกซี HTTP และ HTTPS
พร็อกซี HTTP | พร็อกซี HTTPS | |
พอร์ต | พวกเขาใช้พอร์ต 80, 8080, 8008, 3128 หรือ 3129 | พวกเขาใช้พอร์ต 443 |
ความปลอดภัย | พร็อกซี HTTP กำหนดเส้นทางข้อมูลที่ไม่ได้เข้ารหัส | พร็อกซี HTTPS กำหนดเส้นทางข้อมูลที่เข้ารหัส |
มาตรการ | พวกเขาใช้โปรโตคอล HTTP เป็นหลัก | พวกเขาใช้โปรโตคอล HTTPS เป็นหลัก |
การจราจร | พวกเขาสามารถฟังทั้ง HTTP (ผ่านพอร์ต 80, 8080, 8008, 3128) และการรับส่งข้อมูล HTTPS (ผ่านพอร์ต 3129) | พวกเขาสามารถฟังการรับส่งข้อมูล HTTPS ผ่านพอร์ต 443 เท่านั้น |
การใช้ HTTP และ HTTPS Proxies
การใช้พร็อกซีไคลเอ็นต์ HTTP และพร็อกซีไคลเอ็นต์ HTTPS
1. การขูดเว็บ
การขูดเว็บ หมายถึงกระบวนการอัตโนมัติในการดึงข้อมูลจากเว็บไซต์โดยใช้บอทที่เรียกว่าเครื่องขูดเว็บ โดยปกติแล้ว บอทเหล่านี้ได้รับการออกแบบมาเพื่อดึงข้อมูลจำนวนมาก ซึ่งอาจทำให้เว็บเซิร์ฟเวอร์เครียดโดยการแย่งชิงทรัพยากรโดยไม่จำเป็น ด้วยเหตุนี้ เว็บไซต์ขนาดใหญ่ส่วนใหญ่จึงใช้มาตรการต่อต้านการขูดเพื่อหยุดความพยายามในการดึงข้อมูล โชคดีที่คุณสามารถแก้ไขปัญหานี้ได้โดยใช้พร็อกซี HTTP
พร็อกซี HTTP ส่วนใหญ่มักถูกมองข้ามเมื่อพูดถึงการดึงข้อมูล เนื่องจากพร็อกซีที่อยู่อาศัย พร็อกซีมือถือ หรือพร็อกซีศูนย์ข้อมูลเป็นที่ต้องการ เนื่องจากปกปิดที่อยู่ IP ของคอมพิวเตอร์ที่เครื่องขูดทำงานอยู่ โดยจะกำหนดที่อยู่ IP ที่แตกต่างกันไปพร้อมๆ กัน ทำให้ไม่เปิดเผยตัวตนทางออนไลน์ได้อย่างมีประสิทธิภาพ นอกจากนี้ยังปกป้องที่อยู่ IP จริงจากการถูกบล็อกหรือแบน หากมีการหมุนเวียนที่อยู่ IP เป็นระยะ โอกาสในการบล็อกจะลดลงอีก แต่บทความนี้ไม่เกี่ยวกับพร็อกซีที่อยู่อาศัยหรือศูนย์ข้อมูล ดังนั้นพร็อกซี HTTP และพร็อกซี HTTPS ใช้ในการขูดเว็บอย่างไร
ตามที่ระบุไว้ พร็อกซี HTTP หรือ HTTPS สามารถเปลี่ยนส่วนหัวคำขอ HTTP บางส่วนได้ ซึ่งรวมถึงตัวแทนผู้ใช้ ภาษาที่ยอมรับ การยอมรับการเข้ารหัส และการยอมรับ กล่าวถึงเพียงบางส่วนเท่านั้น ตัวแทนผู้ใช้จัดเก็บข้อมูลเกี่ยวกับระบบปฏิบัติการของคุณ (ประเภทและเวอร์ชัน) แอปพลิเคชันไคลเอนต์ที่ใช้งาน (เว็บเบราว์เซอร์) และกลไกของเบราว์เซอร์ ข้อมูลนี้ช่วยให้เว็บเซิร์ฟเวอร์สามารถระบุประเภทของอุปกรณ์และซอฟต์แวร์ที่ใช้ในการเข้าถึงได้ จากนั้นจะใช้ข้อมูลนี้เพื่อสร้างข้อมูลประจำตัวออนไลน์ที่เกี่ยวข้องกับผู้ใช้ ด้วยการเปลี่ยนแปลงตัวแทนผู้ใช้ พร็อกซี HTTP และพร็อกซี HTTPS สามารถทำให้ดูเหมือนว่าคำขอนั้นมาจากอุปกรณ์ที่แตกต่างกัน สิ่งนี้จะช่วยเพิ่มการขูดเว็บ เนื่องจากคำขอแยกข้อมูลดูเหมือนว่าถูกส่งโดยอุปกรณ์หลายเครื่อง
2. การกรองเนื้อหา
พร็อกซีไคลเอ็นต์ HTTP หรือพร็อกซีไคลเอ็นต์ HTTPS สามารถกำหนดค่าให้ส่งต่อเฉพาะคำขอที่เฉพาะเจาะจงได้ - คำขอดังกล่าวจะต้องเป็นไปตามกฎบางประการ ตัวอย่างเช่นจะต้องส่งผ่านพอร์ตที่ระบุ การเข้าถึงถูกปฏิเสธหากไคลเอ็นต์ HTTP ใช้พอร์ตอื่นที่ไม่ใช่ 80, 8080, 8008, 3128 หรือ 3129
นอกจากนี้ คุณต้องระบุประเภทของเนื้อหาที่พร็อกซี HTTPS หรือ HTTP ควรดูขณะตรวจสอบการรับส่งข้อมูลไปยังและจากไคลเอนต์ การรับส่งข้อมูลจะถูกบล็อกหากเนื้อหาไม่ตรงกับเกณฑ์ที่ระบุในการตั้งค่า ในทางกลับกัน หากเนื้อหาตรงกันก็อนุญาตให้ผ่านตัวกลางได้
3. การรักษาความปลอดภัยการสื่อสาร
พร็อกซี HTTP สามารถกำหนดค่าให้แปลงข้อมูลขาเข้าจากข้อความธรรมดาเป็นข้อมูลขาออกที่มีการเข้ารหัสและปลอดภัย ซึ่งเซิร์ฟเวอร์ HTTPS ยอมรับได้ อย่างไรก็ตาม การกำหนดค่านี้ถือว่าผิดปกติ แต่เกี่ยวข้องกับการใช้พอร์ต 3130 ซึ่งเป็นพอร์ตที่จัดการข้อความธรรมดาในการสื่อสาร SSL
ในทางกลับกัน พร็อกซี HTTPS ช่วยให้การสื่อสารปลอดภัยด้วยการเข้ารหัส ด้วยวิธีนี้ พร็อกซี HTTPS จะส่งเสริมความปลอดภัยทางไซเบอร์ เนื่องจากช่วยลดโอกาสของการโจมตีทางไซเบอร์
4. การจัดการโซเชียลมีเดีย
ถึงตอนนี้ เป็นที่ทราบกันดีว่าพร็อกซี HTTP แก้ไขบางแง่มุมของส่วนหัว HTTP ดังนั้น โดยการเปลี่ยน user-agent ตัวกลางเหล่านี้สามารถสร้างภาพลวงตาว่าคำขอนั้นมาจากอุปกรณ์ที่แตกต่างกัน สิ่งนี้สามารถอนุญาตให้ผู้ใช้สร้างและจัดการบัญชีโซเชียลมีเดียหลายบัญชี
การใช้พร็อกซีเซิร์ฟเวอร์ HTTP และพร็อกซีเซิร์ฟเวอร์ HTTPS
1. การจำกัดการรับส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์
พร็อกซีฝั่งเซิร์ฟเวอร์สามารถกำหนดค่าให้ยอมรับการรับส่งข้อมูลที่ตรงตามกฎบางอย่างได้ ด้วยเหตุนี้จึงปิดกั้นการรับส่งข้อมูลที่ไม่เป็นไปตามข้อกำหนด ด้วยวิธีนี้ เซิร์ฟเวอร์จะปกป้องเซิร์ฟเวอร์ด้วยการทำให้มั่นใจว่าจะไม่ประมวลผลคำขอที่ไม่จำเป็น
2. การรักษาความปลอดภัยเว็บเซิร์ฟเวอร์
พร็อกซีฝั่งเซิร์ฟเวอร์สามารถถอดรหัสข้อมูลจากเว็บไคลเอ็นต์แล้วตีความข้อมูลเหล่านั้นในภายหลัง การดำเนินการนี้ช่วยให้พวกเขาสามารถกรองคำขอ โดยสแกนหามัลแวร์หรือไฟล์ที่เป็นอันตรายอื่นๆ เป็นผลให้พวกเขาปกป้องเว็บเซิร์ฟเวอร์จากการโจมตีทางไซเบอร์
3. การแคชไฟล์ที่เข้าถึงบ่อย
พร็อกซีเซิร์ฟเวอร์ HTTP และพร็อกซีเซิร์ฟเวอร์ HTTPS สามารถจัดเก็บไฟล์ที่เข้าถึงบ่อย เช่น รูปภาพและเพจ สิ่งนี้จะทำให้เว็บเซิร์ฟเวอร์มีอิสระมากขึ้น ทำให้สามารถจัดสรรทรัพยากรให้กับการดำเนินการอื่น ๆ ที่ไม่ธรรมดาได้ นอกจากนี้ยังเพิ่มความเร็วในการโหลดหน้าเว็บอีกด้วย
บทสรุป
พร็อกซี HTTP และพร็อกซี HTTPS เป็นตัวกลางที่มีประโยชน์ โดยเฉพาะจากมุมมองด้านความปลอดภัยและการกรองเนื้อหา อันที่จริงแล้ว พวกมันถูกเรียกว่าตัวกรองเนื้อหาประสิทธิภาพสูง เนื่องจากสามารถกำหนดค่าให้อนุญาตเฉพาะการรับส่งข้อมูลอินเทอร์เน็ตที่เฉพาะเจาะจงเท่านั้นที่จะผ่านได้ พร็อกซีเหล่านี้ยังให้บริการฟังก์ชันอื่นๆ อีกมากมาย รวมถึงการรักษาความปลอดภัยเว็บเซิร์ฟเวอร์ การจัดเก็บไฟล์ที่เข้าถึงบ่อย การจัดการโซเชียลมีเดีย การขูดเว็บ และอื่นๆ