בקשת HTTP של Tornado שעובדת דרך CurlAsyncHTTPClient אינה מוכיחה ש-websocket_connect משתמש באותו backend.

מימוש חיבור ה-WebSocket של Tornado נבנה על נתיב חיבור ה-HTTP שלו עצמו. מימוש ה-HTTP הפשוט מתעד שדות פרוקסי אינם נתמכים. הגדרת לקוח ה-HTTP האסינכרוני הגלובלי לשימוש ב-curl אינה מחליפה את נתיב ה-WebSocket הזה במחבר הפרוקסי של curl.

לכן גם העברת אובייקט HTTPRequest אינה הוכחה לתמיכת פרוקסי. האובייקט יכול לשאת שדות שהמימוש הנבחר אינו מקבל. בדקו את השגיאה ואת מימוש החיבור בפועל.

אם היישום דורש WebSocket דרך פרוקסי, בחרו שילוב חיבור WebSocket מתועד שתומך בפרוטוקול הפרוקסי ובשיטת האימות האלה. שמרו על מחזור החיים ומודל ה-I/O שלו תואמים ליישום.

לאחר שנקבע נתיב הפרוקסי, WebSocket מאובטח עדיין זקוק ל-TLS של היעד ולחיצת היד של WebSocket. בקשת HTTP רגילה שעובדת אינה מאמתת אף אחד מהשלבים המאוחרים האלה.

מאמרים קשורים