อาการของปัญหา
User ไม่สามารถ Login เข้า VDC ผ่าน Proxy Server ได้ โดยอาจพบอาการดังนี้:
- หน้า Login ของ VDC สามารถโหลดได้ปกติ แต่หลังจากกรอก Username/Password แล้ว Connection ล้มเหลว
- แสดง Error: "Failed to check and update control" หลังจาก Login
- Timeout Error ระหว่างการเชื่อมต่อ Desktop
- Login สำเร็จแต่ไม่สามารถเข้าหน้า Resource หรือเปิด Desktop ได้
สาเหตุของปัญหา
VDC ใช้ SRAP Protocol สำหรับ Desktop Streaming ซึ่งทำงานผ่าน WebSocket Connection บน TCP Port 7000 เมื่อ Traffic ผ่าน Forward Proxy Server จะเกิดปัญหาเนื่องจาก:
1. Proxy Server อาจ Block หรือ Modify WebSocket Connection ทำให้ SRAP Protocol ไม่สามารถทำงานได้
2. Proxy Server อาจ Timeout Long-lived Connection ที่ SRAP ใช้
3. Proxy Server อาจ Strip หรือ Modify HTTP Headers ที่จำเป็นสำหรับ WebSocket Upgrade
สรุป: VDI ไม่ Support การเข้าถึงผ่าน Forward Proxy Server
วิธีแก้ไข: Bypass Proxy สำหรับ VDC
วิธีที่ดีที่สุดคือการตั้งค่าให้ Traffic ไปยัง VDC ไม่ผ่าน Proxy Server โดยมีหลายวิธี:
วิธีที่ 1: ตั้งค่า Proxy Exclusion List บน Proxy Server
เพิ่ม VDC IP Address หรือ Domain ลงใน Whitelist/Bypass List ของ Proxy Server เพื่อให้ Traffic ไปยัง VDC ไม่ผ่าน Proxy วิธีนี้เป็นวิธีที่แนะนำเพราะ Admin สามารถทำได้จากจุดเดียว
วิธีที่ 2: ตั้งค่า Proxy Exception บน Client (Windows)
หากไม่สามารถแก้ไขที่ Proxy Server ได้ สามารถตั้งค่าที่ Client แต่ละเครื่อง:
1. เปิด Settings > Network & Internet > Proxy
2. ในส่วน Manual proxy setup คลิก Edit (หรือในส่วน Use a proxy server)
3. ในช่อง "Do not use the proxy server for addresses beginning with" เพิ่ม VDC IP Address หรือ Domain คั่นด้วย Semicolon (;)
4. คลิก Save
วิธีที่ 3: ตั้งค่า Proxy Exception บน Browser
สำหรับ Browser ที่ใช้ Proxy Settings แยกจาก OS:
1. เปิด Browser Settings > Network/Proxy Settings
2. เพิ่ม VDC IP/Domain ในช่อง "No Proxy for" หรือ "Proxy Exceptions"
3. บันทึกและ Restart Browser
วิธีที่ 4: ใช้ VPN แทน Proxy
หากต้องการเข้าถึง VDC จากภายนอกองค์กร แนะนำใช้ VPN เชื่อมต่อเข้า Internal Network แทนการใช้ Proxy ซึ่ง VDI รองรับการทำงานผ่าน VPN ได้ปกติ
กรณีใช้ Reverse Proxy (Nginx)
หากองค์กรต้องการใช้ Reverse Proxy (เช่น Nginx) เพื่อ Publish VDC ออกสู่ภายนอก สามารถทำได้แต่ต้อง Configure WebSocket Passthrough ให้ถูกต้อง โดยเพิ่ม Configuration ดังนี้ในส่วนของ Nginx:
- เพิ่ม Header "Upgrade" และ "Connection" สำหรับ WebSocket Support
- ตั้งค่า proxy_read_timeout ให้มากพอ (แนะนำ 3600s ขึ้นไป)
- เปิด Proxy Pass สำหรับทั้ง HTTPS (443) และ SRAP Port (7000-7100)
การตรวจสอบหลังแก้ไข
1. ทดสอบ Login เข้า VDC ผ่าน Web Browser
2. ทดสอบเปิด Desktop VM ว่าสามารถเชื่อมต่อได้สำเร็จ
3. ทดสอบใช้งาน Desktop สักครู่เพื่อยืนยันว่า Connection เสถียร
4. หากยังไม่สามารถเชื่อมต่อได้ ให้ใช้ Packet Capture บน VDC เพื่อตรวจสอบว่า Traffic จาก Client มาถึง VDC โดยตรงหรือยังผ่าน Proxy อยู่
ข้อคิดเห็น
0 ข้อคิดเห็น
โปรด ลงชื่อเข้าใช้ เพื่อแสดงข้อคิดเห็น